并发和并行的关系

先说结论,并发、并行并不对立,可同时存在。

什么是并发?

CPU运行速度远大于内存读取速度,为了充分利用CPU性能,不让它总是等着从内存里读数据,CPU时间片技术应运而生,可分时复用CPU,本质上来说,任一时刻只有一个线程在执行,但因为CPU执行得快,所以宏观上仍给人多线程同时执行的错觉。这是并发。

什么是并行?

多线程程序运行在具有多个核心的CPU上,这是人们常说的并行。即多个线程可以真正同时运行。

然而,多CPU核心、多线程情形下,且各线程不操作共享数据,才能算并行。因为,若是操作了共享数据,那必然在任一时刻,只能有一个线程操作共享数据,其他线程会阻塞,那应该是并发才对。

若线程数量大于CPU核心数,且各线程不操作共享数据,那么并发和并行同时存在。所以并发和并行并不对立。

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值