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);
}