准備花點時間閱讀一下java.util.concurrent這個包裡面的java代碼,大致看了一下,這個包我個人覺得大致可以分為五個部分(如有不對之處,還望指正)
第一部分 Aomic數據類型
這部分都被放在java.util.concurrent.atomic這個包裡面,實現了原子化操作的數據類型,包括 Boolean, Integer, Long, 和Referrence這四種類型以及這四種類型的數組類型。
第二部分 鎖
這部分都被放在java.util.concurrent.lock這個包裡面,實現了並發操作中的幾種類型的鎖
第三部分 java集合框架中的一些數據結構的並發實現
這部分實現的數據結構主要有List, Queue和Map。
第四部分 多線程任務執行
這部分大體上涉及到三個概念,
Callable 被執行的任務
Executor 執行任務
Future 異步提交任務的返回數據
第五部分 線程管理類
這部分主要是對線程集合的管理的實現,有CyclicBarrier, CountDownLatch,Exchanger等一些類
以上就是對這個包的結構的粗略分析,接下來會一個部分一個部分地閱讀java代碼,順便在這裡寫些心得和體會與諸位分享。
作者:cnblogs 梧留柒