Printer printer = new Printer();
CountDownLatch countDownLatch = new CountDownLatch(1);
Thread t1 = new Thread(() -> {
try {
countDownLatch.await();
} catch (InterruptedException e) {
e.printStackTrace();
}
printer.print(“a”, 1, 2);
});
Thread t2 = new Thread(() -> {
try {
countDownLatch.await();
} catch (InterruptedException e) {
e.printStackTrace();
}
printer.print(“b”, 2, 3);
});
Thread t3 = new Thread(() -> {
try {
countDownLatch.await();
} catch (InterruptedException e) {
e.printStackTrace();
}
printer.print(“c”, 3, 1);
});
t1.start();
t2.start();
t3.start();
countDownLatch.countDown();
因为必须是abc,按照这个顺序打印,所以t1
必须是第一个执行