2012-04-25 42 views
2

这两者的定义是什么,“异构任务”和“同质任务”之间有什么区别?当我读到Java并发实践这本书时,这两个短语就跳出来了。在我看来,这是任务的大小和处理时间。但我不太了解它。我GOOGLE了它,但无法找到准确的答案。谁能帮我?谢谢。异构任务和同构任务

+0

@格雷,谢谢你的帮助。 – ohyeahchenzai 2012-04-26 13:31:34

回答

3
  • 均质任务:任务的组以类似的方式处理并花费大致相同的时间量。示例:将平方函数应用于数组的每个元素。模式:数据并行。
  • 异构任务:一组没有明确逻辑关系并可能在不同时间执行的任务。示例:与下载网页并行估计pi。模式:任务平行。
+0

我在哪里可以找到数据并行和任务并行的定义,或者可以给我一个链接,我想我不知道它们的含义。 – ohyeahchenzai 2012-04-26 14:06:09

+0

@ohyeahchenzai:当然,你可以在维基页面找到基本的定义:http://en.wikipedia.org/wiki/Data_parallelism和http://en.wikipedia.org/wiki/Task_parallelism – Tudor 2012-04-26 19:58:05

0

它可能指的是这样的:

  • 异构任务从根本上不同的任务。例如,“获取最新天气”与“获取最新消息”。这有时被称为基于任务的并行性
  • 均质任务是执行相同任务但可能具有不同输入的任务。例如,“我有20个股票代号 - 获取每个股票代码的股票价格”。这有时被称为基于数据的并行性

(注意含义任务/基于数据的并行性似乎根据上下文来改变上述希望是正确的,在至少一些上下文;)

0

我认为它们在本书中的含义是,如果你有20个任务,19个需要10ms来完成每个任务,另外1个需要完成。按顺序或同时运行它们不会产生巨大的影响:它将会花费更多或更少的1秒。

如果您有20个任务需要10ms才能完成并且是独立的,那么您可以通过并发运行而不是按顺序来显着缩短执行时间。

+0

我想你已经表达了什么是任务规模和他们之间的关系(如果独立的话),如果书中有这样的话,我可能会更清楚,但是这两个短语没有解释就跳出来了,我的英语不太好,所以我问这个问题去检查一下如果任何人有这两个更正式的定义! – ohyeahchenzai 2012-04-26 14:12:22