Java多线程编程中Master-Worker模式的详解
来源:互联网 发布:ubuntu 16.04 聊天工具 编辑:程序博客网 时间:2024/06/05 09:05
转:http://blog.csdn.net/ghuil/article/details/41048005
1 Master-Worker模式核心思想
Master-Worker模式是常用的并行模式之一,它的核心思想是:系统由两类进程协同工作,即Master进程和Worker进程,Master负责接收和分配任务,Wroker负责处理子任务。当各个Worker进程将子任务处理完成后,将结果返回给Master进程,由Master进程进行汇总,从而得到最终的结果,其具体处理过程如下图所示。
Master进程为主要进程,它维护一个Worker进程队列、子任务队列和子结果集。Worker进程队列中的Worker进程不停从任务队列中提取要处理的子任务,并将结果写入结果集。
2 Master-Worker模式的代码实现
Worker类的Java实现
Master类的Java实现3 Master-Worker模式的应用实例
利用Master-Worker模式实现计算立方和的应用。计算1^3+2^3+3^3+…+100^3。
这个计算任务被划分成100个子任务,每个任务仅仅用于计算单独的立方和。
Worker的子类
运行运行的调用函数如下。在主函数中首先通过Master类创建4个Worker工作进程和Worker工作实例PlusWorker。在提交了100个子任务后,边开始子任务的计算。这些子任务中由这4个进程共同完成。Master不用等待所有Worker计算完成才开始汇总,而是子任务在计算的过程中,Master就开始汇总了。
阅读全文
0 0
- Java多线程编程中Master-Worker模式的详解
- Java多线程编程中Master-Worker模式的详解
- Java多线程编程中Master-Worker模式的详解
- Java多线程编程中Master-Worker模式的详解
- Java多线程编程中Master-Worker模式的详解
- Java多线程编程中Master-Worker模式的详解
- Java多线程编程中Master-Worker模式的详解
- java 多线程 master worker模式
- 多线程编程中的Master-Worker模式
- Java Master-Worker模式
- 多线程模式之Master-Worker模式
- 多线程设计模式-- Master-Worker模式
- Master-Worker模式 多线程设计模式
- 通过多线程模拟实现Master-Worker模式
- 多线程之Master-Worker工作模式学习
- 多线程设计模式(Future/Master-Worker)
- 多线程——worker-master模式
- 并发编程之Master-Worker模式
- C/C++学习笔记三(函数)
- 617. Merge Two Binary Trees
- 自定义控件
- JVM GC算法和种类【重要】
- 1,2,3……,9组成3个三位数abc,def和ghi,每个数字恰好使用一次,要求abc:def:ghi=1:2:3.输出所有解。
- Java多线程编程中Master-Worker模式的详解
- u Calculate e
- Struts2 之配置文件编写,动作类(01)
- 使用Freemarker解析占位符,构造可执行的SQL语句
- 消息队列应用场景
- 以文件形式的发送邮件
- activiti配置service节点问题
- 内部类
- MDX同比环比的计算