1蒙畴,CountDownLatch源碼分析
1)內(nèi)部類(lèi)Sync實(shí)現(xiàn)了AQS胁附。
使用AQS的volatile state屬性酪耕,代表count計(jì)數(shù)值穷躁。
2)構(gòu)造CountDownLatch
3)共享釋放鎖。countDown()方法因妇,計(jì)數(shù)器-1
4)CountDownLatch實(shí)現(xiàn)tryReleaseShared
5)共享獲取鎖await() 和 await(timeout, timeunit)
2问潭,CountDownLatch使用
傾向于一個(gè)線程等待多個(gè)線程操作完畢
1)子線程等待main準(zhǔn)備資源
->主線程等待子線程并發(fā)執(zhí)行完畢
->發(fā)送client響應(yīng)。
2)任務(wù)劃分子線程并發(fā)執(zhí)行
->主線程await等待婚被,發(fā)送res到client狡忙。