并行/并行处理的标准做法



简单地说,在什么用例中,最好有多个进程从队列中获得一条消息并按顺序完成该作业的多个任务,或者有多个任务/进程从队列获得这条消息并完成任务。

我有一份工作要排队。帮我洗衣服。

我可以…

      [option A]
      Clean My Laundry -----> Wash it
                              then, Store Transaction
                              then, Tell ppl i'm washing
                              then, write a blog about it
      OR
     [option B]
     Clean My Laundry ------> Wash it
                      ------> Store Transaction
                      ------> Tell ppl i'm washing
                      ------> write a blog about it

任务的顺序无关紧要。他们都需要完成。我理解,如果他们相互依赖,就把他们分组。

将分布式进程分组或不分组的优点或缺点是什么?

谢谢你的贡献。

您的示例显示的是并行性而非并发性:并行性是将一个任务拆分为子任务,同时执行子任务;并发是许多不同的事情同时发生。

正如您所说,当您的主任务可以拆分为相互独立的子任务时,并行处理是一个好主意。其优点是,主任务只需要最长的子任务的时间。

Simon Marlow最近出版的一本关于Haskell的并行处理的书是一本很好的(彻底的,非常可读的)介绍。

最新更新