1.ForkJoin框架:用來(lái)支持對(duì)每個(gè)內(nèi)核使用一個(gè)線程,完成計(jì)算密集型任務(wù)蝇刀,如圖像視屏處理骏庸。
實(shí)現(xiàn):擴(kuò)展RecursiveTask<T>有返回結(jié)果;或擴(kuò)展RecursiveAction,重寫compute(invokeAll()接收并阻塞多任務(wù)奋单,直到所有任務(wù)都完成。T.join()再合并計(jì)算
)
密取work stealing:平衡線程工作負(fù)載
2.同步器:幫助管理相互合作的線程
信號(hào)量
倒計(jì)時(shí)門栓:一次性的猫十,計(jì)數(shù)器讓一個(gè)線程等待览濒,直到計(jì)數(shù)器為零,門栓就不能再重用拖云。
障柵:實(shí)現(xiàn)一個(gè)集結(jié)點(diǎn)贷笛,運(yùn)用在大量線程運(yùn)行在一次計(jì)算不同部位的情形。
交換器:兩個(gè)線程運(yùn)行同一個(gè)數(shù)據(jù)緩沖區(qū)的兩個(gè)實(shí)例宙项,一個(gè)向里放乏苦,一個(gè)消費(fèi),當(dāng)他們都完成后交換緩沖區(qū)杉允。
同步隊(duì)列:將生產(chǎn)者與消費(fèi)者配對(duì)的機(jī)制。當(dāng)一個(gè)線程調(diào)用SynchronousQueue的put()席里,會(huì)阻塞到另一個(gè)線程調(diào)用get()叔磷,數(shù)據(jù)流只有一個(gè)方向及生產(chǎn)者到消費(fèi)者。
線程與swing