并发编程模型

java-教程王 Java教程 发布时间:2021-10-15 15:07:18 阅读数:5633 1
并发系统中我们可以使用多种并发编程模型来实现
并发模型中指定系统中线程采用指定的协作方式完成它的作业
不同的并发模型采用不同的方式拆分作业,同时线程间的协作和交互方式也不相同
下文将讲述不同并发编程模型,如下所示:
并发模型与分布式系统相同点:
    1.并发系统是线程间相互通信
	2.分布式系统是进程之间相互通信

并行工作者模型

在并行工作者模型中,委派者(Delegator)将传入的作业分配给不同的工作者
每个工作者完成整个任务。工作者们并行运作在不同的线程上,甚至可能在不同的CPU上 在Java应用系统中,并行工作者模型是最常见的并发模型
如:java.util.concurrent包中的许多并发实用工具都是设计用于这个模型的
并行工作者模型的优点
并行工作者模式优点:此模型易于理解,我们只需添加更多的工作者即可提高系统的并行度
如:
网络爬虫:
由于每一个线程爬取网页都同网络等其它信息有关,此时我们可以通过多开线程的方式,避免CPU出现大量的空闲时间,提高系统效率
并行工作者模型的缺点
并行工作者模型,我们需注意的是共享数据的访问,因为多个线程对同一数据进行操作,所以在并行模型中,如果涉及共享数据操作时,此时会加入一些线程锁,使用线程进行排队操作,
出现阻塞使其效率变的低下
任务顺序不确定性:
如:一个线程正在运行第一步 ,而另一个线程可能正在运行任务的其它步骤导致共享信息发生变化,这些都是并行任务需考虑的地方
此时我们需考虑此处是否适用并行工作者模型

流水线模式

流水线模式类似于工厂流水:
每个工作者只负责完成自身功能,当完成相应功能后,就转给下一个工作者,每个工作者都在自己的线程中工作
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaCourse/202110/1477.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者