JUC包中的常用類進行一個簡單整理,講解為什麼用、是什麼和怎麼用,但不會涉及背後的原理。我一貫認為,先使用有了直觀感受之後再探究原理會事半功倍。涉及到的類如下:
執行緒區域性變數,ThreadLocal
併發隨機數生成器,ThreadLocalRandom
原子操作類,AtomicInteger等
常用的鎖
可重入的獨佔鎖,ReentrantLock
可重入的讀寫鎖,ReentrantReadWriteLock
同步器
和鎖配合實現wait/notify模式,Condition
控制併發執行緒數,Semaphore
等待多執行緒完成,CountDownLatch
同步屏障,CyclicBarrier
併發List
執行緒安全的ArrayList,CopyOnWriteArrayList
併發佇列
執行緒安全的無界非阻塞佇列,ConcurrentLinkedQueue
獨佔鎖方式實現的阻塞佇列,LinkedBlockingQueue
有界陣列方式實現的阻塞佇列,ArrayBlockingQueue
帶優先順序的無界阻塞佇列,PriorityBlockingQueue
無界阻塞延遲佇列,DelayQueue
併發Map
雜湊表實現,ConcurrentHashMap
跳錶實現,ConcurrentSkipListMap
JUC包中的常用類進行一個簡單整理,講解為什麼用、是什麼和怎麼用,但不會涉及背後的原理。我一貫認為,先使用有了直觀感受之後再探究原理會事半功倍。涉及到的類如下:
執行緒區域性變數,ThreadLocal
併發隨機數生成器,ThreadLocalRandom
原子操作類,AtomicInteger等
常用的鎖
可重入的獨佔鎖,ReentrantLock
可重入的讀寫鎖,ReentrantReadWriteLock
同步器
和鎖配合實現wait/notify模式,Condition
控制併發執行緒數,Semaphore
等待多執行緒完成,CountDownLatch
同步屏障,CyclicBarrier
併發List
執行緒安全的ArrayList,CopyOnWriteArrayList
併發佇列
執行緒安全的無界非阻塞佇列,ConcurrentLinkedQueue
獨佔鎖方式實現的阻塞佇列,LinkedBlockingQueue
有界陣列方式實現的阻塞佇列,ArrayBlockingQueue
帶優先順序的無界阻塞佇列,PriorityBlockingQueue
無界阻塞延遲佇列,DelayQueue
併發Map
雜湊表實現,ConcurrentHashMap
跳錶實現,ConcurrentSkipListMap