4.1 Fork/Join框架概述
来源:互联网 发布:简单的平面设计软件 编辑:程序博客网 时间:2024/06/05 15:54
Fork/Join框架概述
概述
Java7引入了一种新的并行框架:Fork/Join框架。Fork/Join框架是用来解决能够通过分治技术(Divide and Conquer Technique)将问题拆分成小任务的问题。在一个任务中,先检查将要解决的问题大小,如果大于一个设定的大小,那就将问题拆分成可以通过框架来执行的小任务,如果问题的大小比设定的大小要小,就可以直接在任务里解决这个问题,然后根据需要返回任务的结果。
Fork/Join框架和Executor框架主要的区别在于工作窃取算法(Work-Stealing Algorithm)。Fork/Join框架使用join操作让一个主任务等待它所创建的子任务的完成,执行这个任务的线程称之为工作者线程(Worker Thread)。工作者线程会寻找仍未被执行的任务然后开始执行。
Fork/Join框架基于以下两种操作:
- 分解(Fork)操作,当需要将任务拆分成更小的多个任务,并在框架中执行这些任务。
- 合并(Join)操作,当一个主任务等待其创建的多个子任务完成执行。
Fork/Join框架的核心是由下列两个类组成的:
- ForkJoinPool:这个类实现了ExecutorService接口和工作窃取器算法。它管理工作者线程,并提供任务的状态信息,以及任务的执行信息。
- ForkJoinTask:这个类是一个将在ForkJoinPool中执行的任务的基类
Fork/Join框架提供了在一个任务里执行fork和join操作的机制和控制任务状态的方法。通常,为了实现Fork/Join任务,需要实现一个以下两个类之一的子类:
- RecursiveActin:用于任务没有返回结果的场景
- RecursiveTask:用于任务有返回结果的场景
0 0
- 4.1 Fork/Join框架概述
- Java并发编程-23-Fork/Join 框架概述
- Fork/Join框架之Fork、Join操作
- Fork/Join框架之Fork、Join操作
- Fork/Join框架之Fork、Join操作
- Fork/Join框架介绍
- Fork/Join框架介绍
- java Fork-join框架
- Fork/Join框架介绍
- Java7 FORK/JOIN框架
- Fork/Join框架
- Fork/Join框架简介
- Fork/Join框架使用
- Fork/Join 框架
- fork/join框架
- Java Fork/join框架
- Fork/Join框架介绍
- Fork/Join框架简介
- C++杂记:“error LNK1169: 找到一个或多个多重定义的符号”的解决方法
- oracle中clob类型的使用
- Play Framework框架 JPA常用注解
- ListView中显示和隐藏CheckBox
- 对比XML JSON INI 三种格式
- 4.1 Fork/Join框架概述
- bzoj2763: [JLOI2011]飞行路线 分层图最短路
- InstallShield基本操作
- 依赖注入框架Autofac的简单使用
- VxWorks任务调度与中断
- 1001. 害死人不偿命的(3n+1)猜想 (15)
- iOS下的Notification的使用
- server at localhost was unable to start within 45 seconds的解决办法
- poj 2251 Dungeon Master