
Concurrent
命运的左岸
日拱一卒,功不唐捐
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
BlockingQueue
参考内容:[url]http://tool.oschina.net/apidocs/apidoc?api=jdk-zh[/url]一、BlockingQueue1.JDK-API说明[code="java"]public interface BlockingQueue extends Queue[/code]BlockingQueue 支持两个附加操作的 Que...原创 2017-04-15 22:40:58 · 164 阅读 · 0 评论 -
容器集合
[align=center][size=large]容器[/size][/align]一、同步类容器1.概念同步类容器都是线程安全的,但在某些场景下可能需要加锁来保护复合操作。复合类操作如:迭代(反复访问元素,遍历完容器中所有的元素)、跳转(根据指定的受损徐找到当前元素的下一个元素)、以及条件运算。这些复合操作在多线程并发地修改容器时,可能会表现出意外的行为...原创 2017-08-19 18:18:02 · 131 阅读 · 0 评论 -
ThreadLocal
[align=center][size=large]ThreadLocal[/size][/align]一、概念ThreadLocal :线程局部变量,是一种多线程间并发访问变量的解决方案。与其 synchronized 等加锁的方式不同,ThreadLocal 完全不提供锁,而使用以空间换时间的手段,为每个线程提供变量的独立副本,以保障线程安全。从性能上说, ...原创 2017-08-17 21:02:14 · 107 阅读 · 0 评论 -
多线程-单例模式
[align=center][size=large]单例模式[/size][/align]一、概念饿汉模式、懒汉模式二、示例[code="java"]package com.study.current.thread.day02;/** * 单例,多线程 */public class InnerSingleton { private s...原创 2017-08-17 20:59:42 · 115 阅读 · 0 评论 -
线程间通信 wait notify
[align=center][size=large]线程间通信[/size][/align]一、通信线程通信概念:线程是操作系统中独立的个体,但这些个体如果不经过特殊的处理就不能成为一个整体,线程间的通信就成为整体的必用方式之一。当线程存在通信指挥,系统间的交互性会更大,在提高CPU利用率的同事还会使开发人员对线程任务在处理的过程中进行有效的把控与监督。二、1.通过...原创 2017-08-15 22:12:11 · 109 阅读 · 0 评论 -
Volatile
[align=center][size=large]Volatile[/size][/align]一、概念volatile : 作用是保证变量在线程间的可见性二、在Java中,每一个线程都会有一块工作内存去,其中存放着所有线程共享的主内存中的变量值得拷贝。当线程执行时,他在自己的工作内存区中操作这些变量。为了存取一个共享的变量,一个线程通常先获取锁定并去清除他的内存工作...原创 2017-08-14 22:11:47 · 112 阅读 · 0 评论 -
Synchronized
[align=center][size=large]Synchronized[/size][/align]一、锁重入1.概念关键字 synchronized 拥有锁重入功能,也就是在使用 synchronized 时,当一个线程得到了一个对象的锁后,再次请求此对象时可以再次得到该对象的锁。2.示例三个方法,依次调用,获取 第一个方法的锁,执行第二个方法时同样可以...原创 2017-08-13 18:46:23 · 100 阅读 · 0 评论 -
脏读(数据)
[align=center][size=large]脏读[/size][/align]一、概念数据写入与数据读出不一致原因:未对写入与读出做整体性的处理,导致与预期结果不一致二、例子假设:写入两个数据,第一个数据写入需4s,然后写入第二个数据线程启动后,1s,需读取数据。若:只对写进行 synchronized 处理,未对 读进行同样处理,就会出...原创 2017-08-13 17:47:54 · 359 阅读 · 0 评论 -
线程安全
[align=center][size=large]线程安全[/size][/align]一、线程安全线程安全概念:当多个线程访问某一个类(对象或方法)时,这个类(对象或方法)都能表现出正确的行为,那么这个类(对象或方法)就是线程安全的。二、同一个对象的锁1.对同一个对象的对象锁 synchronized synchronized 锁是对象级别的[c...原创 2017-08-12 20:55:07 · 106 阅读 · 0 评论 -
Lock
Lock一、1.[code="java"]public class ThreadSynchronizedDemo { public static String name = "zhang" ; public static Integer age = 25 ; /** * @param args */ public static ...原创 2017-04-19 22:39:24 · 119 阅读 · 0 评论 -
ExecutorService
ExecutorService1.线程池的意义:维护一定数量的线程,线程执行任务的开销,不在于任务执行的时间,而是线程的创建以及销毁所以,创建线程后,在线程完成任务后,不让线程立即销毁,而是保持线程的活跃性当再有任务来时,让活着的线程继续工作[code="java"]ThreadPoolExecutor(int corePoolSize, // 核心线程...原创 2017-04-17 22:32:07 · 172 阅读 · 0 评论 -
CountDownLatch
一、CountDownLatch一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。用给定的计数 初始化 CountDownLatch。由于调用了 countDown() 方法,所以在当前计数到达零之前,await 方法会一直受阻塞。之后,会释放所有等待的线程,await 的所有后续调用都将立即返回。这种现象只出现一次——计数无法被重置。如果需要重...原创 2017-04-16 12:38:36 · 113 阅读 · 0 评论 -
ConcurrentHashMap
一、[table]|hashMap|线程不安全||hashTable|线程安全,对整个Map进行锁处理||concurrentHashMap|线程安全,只对操作的数据进行锁操作|[/table]原创 2017-04-16 11:01:15 · 120 阅读 · 0 评论 -
Queue
[align=center][size=large]Queue[/size][/align]一、Queue ConcurrentLinkedQueue 高性能BlockingQueue 阻塞队列二、ConcurrentLinkedQueue 是一个适用于高并发场景下的队列,通过无锁的方式,实现了高并发状态下的高性能,通常 ConcurrentLinkedQu...原创 2017-08-21 21:26:32 · 159 阅读 · 0 评论