T3
私は、3つのスレッドを開始し、最初に実行され、次にT1
スレッド、最後にスレッドが実行されるように、対応する値を出力するプログラムを実行してきT2
ました。以下はプログラムです。
このメカニズムを使用して開発したいので、カウントダウンラッチに関してこのプログラムを変換するのに役立つかどうかを知りたいだけです。または、セマフォをカウントすることによっても実行できます。
この関連する質問への回答から:
public class Test {
static class Printer implements Runnable {
private final int from;
private final int to;
private Thread joinThread;
Printer(int from, int to, Thread joinThread) {
this.from = from;
this.to = to;
this.joinThread = joinThread;
}
@Override
public void run() {
if(joinThread != null) {
try {
joinThread.join();
} catch (InterruptedException e) { /* ignore for test purposes */ }
}
for (int i = from; i <= to; i++) {
System.out.println(i);
}
}
}
public static void main(String[] args) throws InterruptedException {
Thread T3 = new Thread(new Printer(10, 15, null));
Thread T1 = new Thread(new Printer(1, 5, T3));
Thread T2 = new Thread(new Printer(6, 10, T1));
T1.start();
T2.start();
T3.start();
}
}