concurrent在哪儿:jdk\jre\lib\rt.jar
本文从特性、分类、扩展方面一一道来。
1 特性
2 分类
2.1 Atomic包
包下实现了原子操作,见本作者已有博文。
原子操作核心思想是CAS(compare and swap)比较并操作,然后调用底层操作系统指令来完成。
原子操作有对基本数据类型boolean、Integer、Long操作,对数组操作,对对象引用操作,对volatile字段原子操作。
2.2 Lock包
公平锁
非公平锁
2.3 其他
BlockingQueue
CancellationException
ConcurrentHashMap
CopyOnWriteArrayList和CopyOnWriteArraySet
CountDownLatch一个同步辅助类,等待正在其他线程中执行操作,并不是线程间的相互等待。
CyclicBarrier一个同步辅助类,容许一组线程相互等待,直到这组线程达到某个公共的屏障点。
Executor
TimeUnit,其内部的sleep用Thread.sleep实现,可以设置时间单位,可用性更好些。
我的笔记博客版权我的笔记博客版权