java快速理解和使用invokeall进行多线程编程
1、第一点,很多人其实并不知道invokeall属于哪一种方法,这里我要做一个说明,invokeall方法属于j锾攒揉敫ava多线程框架Executor中的ExecutorService方法,如果您对Executor框架尚不清楚,可以看一下本人的关于java的Executor多线程框架的经验讲解。下图为javaExecutor多线程的图解:

3、ExecutorService的invoke钽吟篑瑜All这个方法是有两种用法的:第一个用法是exec.invokeAll(tasks)而第二个用法是exec.invokeAll(tasks, timeout, unit)显然这是两两个函数是重载的方式,一个只有1个参数tasks,第二个由三个参数构成。下面我来简要介绍一下三个参数分别是什么:tasks:任务集合,就是所有将在多线程环境下跑的work。timeout:顾名思义,超时时间,即允许这个多线程运行的最长时间,超过就关闭线程。unit:前者(timeout)的时间单位,其实我蛮好奇为什么要多设一个时间单位的,个人觉得统一时间单位其实也是ok的。下图还有使用这俩函数需要import的内容。

