一件事由多個線程一起完成後再執行下一步的操作

平時,我們會經常遇到,多個人分工合作一件事,當完成一個階段後,再分工執行下一步的計劃。比較恰當的事例,大家一塊兒去某一地旅遊,當時,乘坐的交通工具有所不同,有自駕的,有騎自行車的,有坐公汽的,於是,我們就指定一個地點,在那個地點集合,來的早的就等着晚着到的,當大家都集合到了,再繼續往前走。

在java裏,有專門的一個類就是同步各個進程,設置關卡的。該類是CyclicBarrier,是concurrent下的類,類下有個await方法,再爲該類指定一個parties(也就是要參與的進程數),當每個線程都執行await()方法時,就會彼此相互等待,只要所有的線程都到齊後,纔到執行下一步的動作。

具體的例子可以參照:http://blog.csdn.net/atrueman123/article/details/6682229


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章