Chcę zaimplementować niestandardową barierę Java. Nie chcę korzystać z CyclicBarrier class.Implementacja niestandardowej bariery Java
Wszystkie wątki spotykają się we wspólnym punkcie. Gwinty przetwarzają się tylko wtedy, gdy wszystkie nici dotarły do bariery.
Chcę użyć metod wait/notify/notifyAll do wdrożenia bariery.
Więc to co wymyśliłem
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();
}
}
Ale ja naprawdę nie rozumiem jak to osiągnąć, że pewna liczba wątków są zatrzymane, aż wszystkie wątki przyjechał. Czy możliwe jest zaimplementowanie bariery za pomocą tylko czekania/powiadamiania/powiadamiania wszystkich?
Czy to zadanie domowe? A może chcesz użyć CyclicBarrier? – meriton
Po prostu próbuję dostać się do wątków Java i współbieżność i brzmi to być interesujące ćwiczenie do nauki od –