欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

concurrent包

程序员文章站 2022-11-30 19:08:07
concurrent在哪儿:jdk\jre\lib\rt.jar 本文从特性、分类、扩展方面一一道来。 1 特性 2 分类 2.1 Atomic包 包下实现了原子操作,见本作者已有博文。 原子操作核心思想是CAS(compare and swap)比较并操作,然后调用底层操作系统指令来完成。 原子操 ......

 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一个同步辅助类,调用await方法时,任何线程都被阻塞,直到锁计数减少为0,然后在该点等待的所有线程才被释放。

cyclicbarrier一个同步辅助类,容许一组线程相互等待,直到这组线程达到某个公共的屏障点。

executor

timeunit,其内部的sleep用thread.sleep实现,可以设置时间单位,可用性更好些。