当前位置:嗨网首页>书籍在线阅读

26-使用forkjoin框架替代执行器

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

11.9 使用fork/join框架替代执行器

执行器使我们避免线程的创建和管理。实现 RunnableCallable 接口可以开发任务,然后将其发送给执行器。执行器有一个线程池,它会安排其中的一个线程去执行任务。

Java 7通过fork/join框架提供了一种新的执行器,它实现在 ForkJoinPool 类中,专为可以由分治法拆分成多个更小任务的问题而设计。在为fork/join框架实现任务时,必须要检查待解决问题的大小。如果它大于预定义的大小,那么就将其拆分成两个问题或更多个子问题,然后创建与拆分结果相同数量的子任务。该任务使用 fork() 操作将这些子任务发送给 ForkJoinPool 类,并使用 join() 操作等待它们的执行完成。

对于这种问题,fork/join拥有着比经典的执行器更好的性能。本节要实现的案例将验证这一点。