判断一个线程是否已经执行可以使用.isAlive()方法判断,那判断线程池executorService里面是否有正在执行的任务该怎么办呢,请前辈指教,网上没有查到
判断一个线程是否已经执行可以使用.isAlive()方法判断,那判断线程池executorService里面是否有正在执行的任务该怎么办呢,请前辈指教,网上没有查到
首先调用 shutdown 或 shutdownNow,然后调用isTerminated,返回:如果有任务正在执行,则返回false。
exe.shutdown();
System.out.println("shutdown():启动一次顺序关闭,执行以前提交的任务,但不接受新任务。");
while(true){
if(exe.isTerminated()){
System.out.println("所有的子线程都结束了!");
break;
}
Thread.sleep(1000);
}
4 回答1.1k 阅读✓ 已解决
4 回答710 阅读✓ 已解决
1 回答2.5k 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
2 回答661 阅读✓ 已解决
2 回答1.2k 阅读
2 回答1.6k 阅读
参考:Java并发编程 - Executor,Executors,ExecutorService, CompletionServie,Future,Callable