什么是fork/join?
fork/join是jdk1.7搞的一个简单的框架。是一种分而治之的思想。分而治之,就是把一个复杂的任务拆分成多个小任务,并且这些小任务之间没有任何的联系。像归约排序
什么是工作取密呢?
例子:一个大任务拆分成50个小任务,有五个线程去执行。按照道理一个线程平均执行10个任务,但是每个线程执行任务的复杂度不一样。假如一个线程早早的把自己的10个任务执行完,它会去帮助其它线程去执行。这个过程就是工作取密。
ForkjoinPool,抽象类ForkjoinPoolTask,RecursiveTask有返回值,RecursiveActive无返回值。
同步提交是invoke,异步是commit/submit.
CountDownLatch
闭锁
使用场景,例子:要运行主线程之前,要保证好多初始化工作先完成再去执行主线程。count要执行的数量,每次递减1,当递减到0的情况下,去执行主线程。要等待的地方适应await()