3-3多线程编程模型.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3-3多线程编程模型

* 3.3 多线程编程模型 三种基本的线程编程模型: 流水线 客户端/服务器 工作组 (1)流水线模型 每个线程反复地在数据系列集上执行同一种操作,并把操作的结果传递给下一步骤的其他线程。这就是“流水线”(assembly line)方式。 在流水线方式中,数据流串行地被一组线程顺序处理。每个线程依次在该数据上执行自身特定的操作,并将执行结果传递给流水线中的下一个线程。 数据流分解 输入 输出 线程A 线程B 线程C D1 D1 D2 D3 D4 D1 D1 D2 D2 D3 D1 D2 D3 D4 D5 各线程的工作量不应差别太大! (2)客户端/服务器模型 在客户/服务器系统中,客户请求服务器对一组数据执行某个操作。服务器独立的创建线程执行操作,客户端或者等待服务器执行,或者并行地执行并在后面需要时查找结果。 请求A 线程A 线程B 线程C 请求B 请求C 监听线程 客户端 服务端 (3)工作组模型 在工作组模式中,数据被一组线程独立地处理。 输入 输出 线程A 线程B 线程C 最常见的是,建立一组线程,每个线程负责处理数组的某些行或列。 由于所有的工作线程在不同的数据部分上执行相同的操作,这种模式通常被称为SIMD(单令多数据流)并行处理。 不过,工作组中的线程不必一定使用SIMD模型。它们完全几可以在不同的数据上执行不同的操作。 例如,工作组中的成员,每个从共享队列中删除工作请求、然后做请求的工作。每个排队请求可能描述不同的操作,但是相同的队列和“使命”使得他们成为一个工作组不是独立的工作线程。 数据流分解 MIMD 这三种模型可以根据实际编程需求来进行组合应用。 例如,服务器端的线程可能使用流水线方式也有可能使用工作组的方式,而流水线编程模型中的某一步又有可能是其他的编程模型。

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档