從Java 5開始,java平臺新增了一個叫做`java.util.concurrent`的package,這個package 包含了一系列的方便我們進行并發編程(多線程)的java 類。在沒有這些便捷的Java 類之前,很多的并發編程工具類、數據結構都需要我們自己去開發。
在這個系列的文檔中,我將帶您一個一個的學習掌握`java.util.concurrent`(JUC)包里面的類。我使用的java版本是JDK 8,我不太確定是不是與JDK 5相比已經發生了有很大的變化。但目前看JDK 8 仍然是使用比較廣泛的核心版本,所以我們使用它來實驗學習。
- 線程
- 1.進程和線程-鎖與信號量
- 2.Thread類線程狀態轉換
- 2.并發與并行-同步與異步
- 4.線程池
- 5.對象級別與類級別的同步鎖
- 6.創建線程的四種方式
- 7.臨界區-阻塞-活鎖-死鎖
- 2.JMM多線程模型
- JUC
- BlockingQueue
- ArrayBlockingQueue
- DelayQueue
- LinkedBlockingQueue
- PriorityBlockingQueue
- SynchronousQueue
- BlockingDeque
- ConcurrentHashMap
- CountDownLatch
- CyclicBarrier
- Exchanger
- AtomicInteger
- Lock
- Condition
- ReentrantLock讀寫鎖
- StampedLock
- Semaphore