我想實現自定義java屏障。我不想使用CyclicBarrier class。實現自定義java屏障
所以所有的線程都在一個共同點上相遇。如果所有線程都抵達屏障,則線程將處理完畢。
我想使用wait/notify/notifyAll方法來實現屏障。
原來這就是我想出了
public class Barrier{
private final int threadNumber;
public Barrier(int pThreadNumber){
this.threadNumber = pThreadNumber;
}
public synchronized void barrier(){
wait();
}
public synchronized void releaseBarrier(){
notifyAll();
}
public synchronized void releaseThread(){
notify();
}
}
但我真的不知道如何做到這一點的線程一定數量的停止,直到所有線程到達。是否可以僅使用wait/notify/notify all來實現屏障?
這功課嗎?或者你爲什麼不想使用CyclicBarrier? – meriton
我只是試圖進入Java線程和併發性,這聽起來是一個有趣的練習,以學習 –