線程的併發工具類

常用的併發工具類

CountDownLatch

作用:是一組線程等待其他的線程完成工作以後在執行,加強版join

await用來等待,countDown負責計數器的減一

CyclicBarrier

讓一組線程達到某個屏障,被阻塞,一直到組內最後一個線程達到屏障時,屏障開放,所有被阻塞的線程會繼續運行CyclicBarrier(int parties)

CyclicBarrier(int parties, Runnable barrierAction),屏障開放,barrierAction定義的任務會執行

CountDownLatch和CyclicBarrier辨析

1、countdownlatch放行由第三者控制,CyclicBarrier放行由一組線程本身控制
2、countdownlatch放行條件》=線程數,CyclicBarrier放行條件=線程數

Semaphore

控制同時訪問某個特定資源的線程數量,用在流量控制

Exchange

兩個線程間的數據交換,

Callable、Future和FutureTask

isDone,結束,正常還是異常結束,或者自己取消,返回true;

isCancelled 任務完成前被取消,返回true;

cancel(boolean):

  1. 任務還沒開始,返回false
  2. 任務已經啓動,cancel(true),中斷正在運行的任務,中斷成功,返回true,cancel(false),不會去中斷已經運行的任務
  3. 任務已經結束,返回false

包含圖片和文字的文檔的處理:圖片(雲上),可以用future去取圖片,主線程繼續解析文字。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章