Я хочу, чтобы синхронизированные потоки ждали друг друга.В примере программы каждый поток просто считает до 100. Я хочу, чтобы потоки ждали каждые 10 выходов.
Поскольку я готовлюсь к экзамену, я хотел бы использовать метод CyclicBarrier .
Вот код:
public class NumberRunner extends Thread {
private int number;
private CyclicBarrier barrier;
public NumberRunner(int n, CyclicBarrier b) {
number = n;
barrier = b;
}
public void run() {
for (int i = 0; i < 100; i++) {
System.out.println("Thread " + number + ": " + i);
}
}
иГлавный класс
public class Barriers {
private final static int NUMBER = 3;
public static void main(String[] args) {
CyclicBarrier barrier = new CyclicBarrier(3);
NumberRunner[] runner = new NumberRunner[NUMBER];
for (int i = 0; i < NUMBER; i++) {
runner[i] = new NumberRunner(i, barrier);
}
for (int i = 0; i < NUMBER; i++) {
runner[i].start();
}
}
Как мне вставить барьеры?