// 立即关闭线程池 不接受新任务 但是已经提交的任务会执行完成 voidshutdown(); // 立即关闭线程池 尝试停止正在运行的任务 未执行的任务将不再执行 // 被停止的任务会以列表的形式返回 // 这个列表形式返回任务 我们是可以理解的 你不知行了 你得返回调用者这些没有执行的任务 // 这样调用者才能够对这些任...
一般是自己的本地队列采取LIFO(后进先出),窃取时采用FIFO(先进先出),一个从头开始执行,一个从尾部开始执行,由于偷取的动作十分快速,会大量降低这种冲突,也是一种优化方式。 特点:线程的数量,如果传入参数,线程数量就是参数的数值,如果不传入,则默认使用当前计算机中可用的cpu数量 能够合理的使用CPU进行对任务操作(...
// 如果除了 CancellationException 和 ExecutionException 没有抛其他异常 这里会执行 done = true; // 返回futures return futures; } finally { // 如果抛出其他异常 不执行done = true // 但是会执行finally 这是finally的特性 一般我们在使用锁Lock的时候都要再finally中释放 if (!done) // 如果有异常 取...