java中并发和并行的概念

由于任务数量远远超过CPU核心数量,因此操作系统会自动把任务调度到每个核心上执行。

1、概念

并发:多个进程在一个CPU下采用时间片轮转方式,在一段时间内,让多个进程得以推进,类似“雨露均沾”思想,一个CPU在短时间内会自动调度不同任务。

并行:多个任务在多个CPU分别同时运行,这称之为并行。

2、区分

操作系统中将并发性与并行性做明显区分,主要从微观角度而言:

并发性:单处理机情况下,多个进程在同一时间间隔运行

并行性:多处理机情况下,多个进程同时运行

举个例子理解并发与并行机制:

客户去银行办理业务

并发性:为了让银行服务人员更好地服务客户,规定每个客户的业务办理时间(防止其他客户长时间等待),银行服务人员将时间片轮转思想应用到客户业务中,当该客户业务的办理时间到达规定时间,银行人员暂停当前业务随之去办理下一个客户的业务,该客户等待下一次时间片的到来。从长时间来看,因为时间片较短,一个银行服务人员被认为可同时服务多个客户,这就可以理解为基于时间片的进程轮转管理机制,就是所谓的并发性。

并行性:银行如果非常有钱,雇佣了很多的工作人员,此时一个客户就会有一个工作人员对接,所有客户的业务真正实现了同时处理,这种机制就称为并行性。

原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容