並發包總結
阿新 • • 發佈:2017-10-18
語義 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()停止等待,開始執行。
並發包總結