线程池如何判断任务全部完成
线程池判断任务是否全部完成可以通过以下两种方式:
1. 使用线程池的原生函数isTerminated():这个函数可以判断线程池中的任务是否全部完成,全部完成返回true,否则返回false。这种方式的优点是操作简便,但需要主线程阻塞。
2. 使用CountDownLatch:这个方式的优点是操作相对简便,可以把等待线程池中任务完成后的后续工作做成任务,同样放到线程池中运行,简单来说,就是可以控制线程池中任务执行的顺序。缺点是需要提前知道任务的数量。
另外,线程池中最终会执行Runnable的run方法,run方法正常结束,也就意味着任务完成了。