1. 多個線程互相等待
//引入包
import java.util.concurrent.CountDownLatch;
//代碼
int THREAD_COUNT = 2;
final CountDownLatch latch = new CountDownLatch(THREAD_COUNT);
Thread[] threads = new Thread[THREAD_COUNT];
threads[0] = new Thread(new Runnable() {
@Override
public void run() {
try {
//todo
} catch (Exception e) {
System.out.println(e + "");
LOGGER.error("執行失敗", e);
} finally {
latch.countDown();
}
}
});
threads[0].start();
threads[1] = new Thread(new Runnable() {
@Override
public void run() {
try {
//todo
} catch (Exception e) {
LOGGER.error("執行失敗", e);
} finally {
latch.countDown();
}
}
});
threads[1].start();
try {
latch.await();
} catch (Exception e) {
LOGGER.error("執行失敗", e);
}