當前位置:編程學習大全網 - 源碼下載 - java並發類有哪些

java並發類有哪些

1、常用的並發集合類

ConcurrentHashMap:線程安全的HashMap的實現

CopyOnWriteArrayList:線程安全且在讀操作時無鎖的ArrayList

CopyOnWriteArraySet:基於CopyOnWriteArrayList,不添加重復元素

ArrayBlockingQueue:基於數組、先進先出、線程安全,可實現指定時間的阻塞讀寫,並且容量可以限制

LinkedBlockingQueue:基於鏈表實現,讀寫各用壹把鎖,在高並發讀寫操作都多的情況下,性能優於ArrayBlockingQueue

2、原子類

AtomicInteger:線程安全的Integer,基於CAS(無阻塞,CPU原語),優於使用同步鎖的Integer

3、線程池

ThreadPoolExecutor:壹個高效的支持並發的線程池,可以很容易的講壹個實現了Runnable接口的任務放入線程池執行,但要用好這個線程池,必須合理配置corePoolSize、最大線程數、任務緩沖隊列,以及隊列滿了+線程池滿時的回絕策略,壹般而言對於這些參數的配置,需考慮兩類需求:高性能和緩沖執行。

Executor:提供了壹些方便的創建ThreadPoolExecutor的方法。

FutureTask:可用於異步獲取執行結果或取消執行任務的場景,基於CAS,避免鎖的使用

4、鎖

ReentrantLock:與synchronized效果壹致,但是又更加靈活,支持公平/非公平鎖、支持可中斷的鎖、支持非阻塞的tryLock(可超時)、支持鎖條件等,需要手工釋放鎖,基於AbstractQueueSynchronizer

ReentrantReadWriteLock:與ReentrantLock沒有關系,采用兩把鎖,用於讀多寫少的情形

  • 上一篇:胡潤財富榜公布:千億富豪達41人,頂豪們短短壹年賺了十萬億
  • 下一篇:怎麽制作flash動畫和小遊戲
  • copyright 2024編程學習大全網