Master-Worker模式是常用的并行模式之一,它的核心思想是,系统有两个进程协作工作:Master进程,负责接收和分配任务;Worker进程,负责处理子任务。当Worker进程将子任务处理完成后,结果返回给Master进程,由Master进程做归纳汇总,最后得到最终的结果。
一、什么是Master-Worker模式:
该模式的结构图:
结构图:
Worker:用于实际处理一个任务;
Master:任务的分配和最终结果的合成;
Main:启动程序,调度开启Master。
二、代码实现:
下面的是一个简易的Master-Worker框架实现。
(1)Master部分:
[java] view plain copy(2)Worker进程实现:
[java] view%20plain copy(3)运用这个小框架计算1——100的立方和,PlusWorker的实现:
[java] view%20plain copy(4)进行计算的Main函数:
[java] view%20plain copy三、总结:
Master-Worker模式是一种将串行任务并行化的方案,被分解的子任务在系统中可以被并行处理,同时,如果有需要,Master进程不需要等待所有子任务都完成计算,就可以根据已有的部分结果集计算最终结果集。
新闻热点
疑难解答