1.ForkJoin框架:用来支持对每个内核使用一个线程,完成计算密集型任务,如图像视屏处理。
实现:扩展RecursiveTask<T>有返回结果;或扩展RecursiveAction,重写compute(invokeAll()接收并阻塞多任务,直到所有任务都完成。T.join()再合并计算
)
密取work stealing:平衡线程工作负载
2.同步器:帮助管理相互合作的线程
信号量
倒计时门栓:一次性的,计数器让一个线程等待,直到计数器为零,门栓就不能再重用。
障栅:实现一个集结点,运用在大量线程运行在一次计算不同部位的情形。
交换器:两个线程运行同一个数据缓冲区的两个实例,一个向里放,一个消费,当他们都完成后交换缓冲区。
同步队列:将生产者与消费者配对的机制。当一个线程调用SynchronousQueue的put(),会阻塞到另一个线程调用get(),数据流只有一个方向及生产者到消费者。
线程与swing