java怎么判断线程执行完毕

76次阅读
没有评论

共计 947 个字符,预计需要花费 3 分钟才能阅读完成。

Java 中判断线程是否执行完毕有多种方式:

  1. 使用 Thread 类的 join() 方法:调用线程的 join() 方法可以等待线程执行完毕,然后再继续执行后面的代码。
Thread thread = new Thread(() -> {// 线程执行的代码});
thread.start(); // 启动线程
thread.join(); // 等待线程执行完毕
// 线程执行完毕后的代码 
  1. 使用 Thread 类的 isAlive() 方法:调用线程的 isAlive() 方法可以判断线程是否还在运行。
Thread thread = new Thread(() -> {// 线程执行的代码});
thread.start(); // 启动线程
while (thread.isAlive()) {// 等待线程执行完毕}
// 线程执行完毕后的代码 
  1. 使用 CountDownLatch 类:CountDownLatch 是一个同步辅助类,可以让主线程等待其他线程执行完毕。
CountDownLatch latch = new CountDownLatch(1);
Thread thread = new Thread(() -> {
// 线程执行的代码
latch.countDown(); // 线程执行完毕后调用 countDown() 方法
});
thread.start(); // 启动线程
latch.await(); // 等待线程执行完毕
// 线程执行完毕后的代码 
  1. 使用 ExecutorService 类:ExecutorService 是 Java 中用于管理线程池的类,可以通过调用 submit() 方法提交一个线程任务,并通过调用 get() 方法等待任务执行完毕。
ExecutorService executorService = Executors.newSingleThreadExecutor();
Future future = executorService.submit(() -> {// 线程执行的代码});
executorService.shutdown(); // 关闭线程池
try {future.get(); // 等待线程执行完毕
} catch (InterruptedException | ExecutionException e) {e.printStackTrace();
}
// 线程执行完毕后的代码 

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-21发表,共计947字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)