我說兩個線程t1和t2,我想同時啓動(同時),每個調用System.out.println()
打印到控制檯,然後在同一時間完成。同時啓動和查殺線程
請告知如何通過執行器框架來實現這一點。我正嘗試在執行器框架本身的幫助下做到這一點..!
我說兩個線程t1和t2,我想同時啓動(同時),每個調用System.out.println()
打印到控制檯,然後在同一時間完成。同時啓動和查殺線程
請告知如何通過執行器框架來實現這一點。我正嘗試在執行器框架本身的幫助下做到這一點..!
您可以使用2 CountDownLatch
es或CyclicBarrier
來做到這一點。例如:
final CountDownLatch start = new CountDownLatch(2);
final CountDownLatch end = new CountDownLatch(2);
Runnable r1 = new Runnable() {
@Override
public void run() {
try {
start.countDown();
start.await();
System.out.println("In 1");
end.countDown();
end.await();
} catch (InterruptedException ex) {
Thread.currentThread().interrupt(); //restore interruption status
}
}
};
Runnable r2 = new Runnable() {
@Override
public void run() {
try {
start.countDown();
start.await();
System.out.println("In 2");
end.countDown();
end.await();
} catch (InterruptedException ex) {
Thread.currentThread().interrupt(); //restore interruption status
}
}
};
你能編輯你的文章來解釋_why_你想做這個嗎?這是一個功課問題或什麼? – Gray
你嘗試過什麼嗎?如果是這樣,告訴我們! – Thousand