Java中判断线程是否执行完毕有多种方式:
Thread thread = new Thread(() -> {
// 线程执行的代码
});
thread.start(); // 启动线程
thread.join(); // 等待线程执行完毕
// 线程执行完毕后的代码
Thread thread = new Thread(() -> {
// 线程执行的代码
});
thread.start(); // 启动线程
while (thread.isAlive()) {
// 等待线程执行完毕
}
// 线程执行完毕后的代码
CountDownLatch latch = new CountDownLatch(1);
Thread thread = new Thread(() -> {
// 线程执行的代码
latch.countDown(); // 线程执行完毕后调用countDown()方法
});
thread.start(); // 启动线程
latch.await(); // 等待线程执行完毕
// 线程执行完毕后的代码
ExecutorService executorService = Executors.newSingleThreadExecutor();
Future<?> future = executorService.submit(() -> {
// 线程执行的代码
});
executorService.shutdown(); // 关闭线程池
try {
future.get(); // 等待线程执行完毕
} catch (InterruptedException | ExecutionException e) {
e.printStackTrace();
}
// 线程执行完毕后的代码