1. 程式人生 > >並發包總結

並發包總結

語義 cond ant 實現 down 其他 信號 理解 靈活

並發包中引入了線程池,好處是:

可以制定靈活的運行策略,比如single的,保證一個一個運行,fixed的可以保證一次只運行一定數量的線程

線程池可以將線程關閉

線程池可以使線程之間進行通訊

鎖的好處是:

有公平鎖,可以實現先來的線程,先執行

通過lock(reentrantelock)和condition實現同步,在語義上很容易理解

有讀寫鎖,實現緩沖池,保證讀的時候,其他讀和寫都不能操作,大家都讀的時候,可以並發讀取,提高讀的效率

samephore,控制同時訪問資源的數量,哪個線程先acquire,哪個可以執行,執行完release掉,其他的空閑線程再搶

cyclicBarrier,路障,每個線程到達路障,都先等待,直到所有的線程都到達這裏,再繼續向下執行

countdownlatch,倒計時,等倒計時到0的時候,線程開始跑

1)main主線程中有一個倒計時器,1秒鐘之後,倒計時器變成0 judge.countdown()

2)子線程在等judge.await(),直到變成0

3)子線程中誰執行完,誰倒計時減去1 sport.countdown()

4) sport信號燈變成0,主線程的judge.await()停止等待,開始執行。

並發包總結