執行緒的併發工具類

2021-09-25 16:19:50 字數 925 閱讀 3640

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):

任務還沒開始,返回false

任務已經啟動,cancel(true),中斷正在執行的任務,中斷成功,返回true,cancel(false),不會去中斷已經執行的任務

任務已經結束,返回false

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

多執行緒併發工具類

一 fork join 什麼是分而治之?規模為n的問題,n 閾值,直接解決,n 閾值,將n分解為k個小規模子問題,子問題互相對立,與原問題形式相同,將子問題的解合併得到原問題的解。fork join使用兩個類來完成以上兩件事情 forkjointask 我們要使用forkjoin框架,必須首先建立乙...

多執行緒併發工具類

countdownlatch,cyclicbarrier,semaphore,exchanger countdownlatch,用於乙個或多個執行緒等待其他執行緒完成操作。構造器中的計數值 count 實際上就是閉鎖需要等待的執行緒數量。這個值只能被設定一次,主線程在啟動其他執行緒後立即呼叫coun...

執行緒的併發工具類Fork Join

快速排序,歸併排序,二分查詢屬於分而治之。分治法的設計思想是 將乙個難以直接解決的大問題,分豁成一些規模較小的相同問題,以便 各個擊破,分而治之。通常我們不直接繼承forkjointask類,只需要直接繼承其子類。1.recursiveaction 用於沒有返回結果的任務,2.recursiveta...