java5之后的java.util.concurrent包是世界級并發(fā)大師Doug Lea的作品.
java.util.concurrent主要分為四個(gè)部分:
1.atomic包里Integer/Long對應(yīng)的原子類;
2.同步鎖;
3.并發(fā)容器, 比如ConcurrentHashMap伯病,ConcurrentLinkedQueue脐恩,CopyOnWriteArrayList等;
4.多線程任務(wù)執(zhí)行,如Executors等;
5.線程管理類,如CyclicBarrier, CountDownLatch,Exchanger等.
第一部分 Aomic數(shù)據(jù)類型
這部分都被放在java.util.concurrent.atomic這個(gè)包里面,實(shí)現(xiàn)了原子化操作的數(shù)據(jù)類型,包括 Boolean, Integer, Long, 和Referrence這四種類型以及這四種類型的數(shù)組類型木缝。
第二部分 鎖
這部分都被放在java.util.concurrent.lock這個(gè)包里面挡篓,實(shí)現(xiàn)了并發(fā)操作中的幾種類型的鎖
第三部分 java集合框架中的一些數(shù)據(jù)結(jié)構(gòu)的并發(fā)實(shí)現(xiàn)
這部分實(shí)現(xiàn)的數(shù)據(jù)結(jié)構(gòu)主要有List, Queue和Map澜倦。
第四部分 多線程任務(wù)執(zhí)行
這部分大體上涉及到三個(gè)概念料按,
Callable 被執(zhí)行的任務(wù)
Executor 執(zhí)行任務(wù)
Future 異步提交任務(wù)的返回?cái)?shù)據(jù)
第五部分 線程管理類
這部分主要是對線程集合的管理的實(shí)現(xiàn),有CyclicBarrier, CountDownLatch,Exchanger等一些類.