【发布时间】:2019-05-09 17:18:46
【问题描述】:
据说invokeAll是在我们想要等待所有任务完成时使用的,而不是提交或执行不等待。
完成任务是什么意思。这是否意味着产生所有其他线程的父线程卡在该点,直到所有线程返回?
【问题讨论】:
-
这意味着一旦任务完成(正常或异常)该方法返回。集合中的每个
Callable都是一个任务。使用哪些线程来执行任务取决于ExecutorService。一个典型的实现是一个将重用现有线程的线程池。有多少线程可用或提交任务时是否创建线程取决于线程池的配置方式。
标签: java multithreading concurrency executorservice