判断一个线程是否已经执行可以使用.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);
}
8 回答6.5k 阅读
4 回答701 阅读✓ 已解决
2 回答3.4k 阅读
3 回答1.9k 阅读✓ 已解决
1 回答2.2k 阅读✓ 已解决
1 回答2.1k 阅读✓ 已解决
1 回答972 阅读✓ 已解决
参考:Java并发编程 - Executor,Executors,ExecutorService, CompletionServie,Future,Callable