多线程和多进程

一般来说,一个CPU同一时刻只有一个进程上CPU,某些机器可能有多CPU,就可以做到多个进程同时运行,达到"并发"的效果,这种情况比较少见,目前我们平时使用的电脑都没有这种情况,看某些博客得知以前是有过这种方案存在的,但是实际上双CPU的方案会使得CPU必须使用默频运行,达到完全的统一,还有CPU之间也需要进行数据的同步,也有不少损耗

并发指的是给用户的感觉像是多个进程同时运行,但是实际上是因为进程切换的时间很快,导致感觉上像是多个进程同时运行,

多线程则是真正实现"并发"的效果,目前普遍的方案都是这样,单CPU多核心,在某些高端的芯片中,也是英特尔提出的,"超线程"的一种方式,使得逻辑核数翻倍,其实也是一种榨干硬件的方式,一个核心能上一个线程,但是这个线程有时候也会"休息",导致这时候核心也是一个空闲的状态,导致不能完全利用到核心算力,因此英特尔提出的这个方案其实就是一个核心管两个线程,,一个线程空出核心的时候,另一个线程就上核心,就类似于进程切换,将CPU利用起来.

目前情况下,多核CPU已经是一个普遍存在的东西,利用好多线程才能将硬件榨干.

通过实验可以得出,在一个六核的CPU上使用多线程进行MD5的运算,每个线程运算40次,每个线程耗时约3.5s,也就是说,3.5s完成一共240次运算,而单线程运算240次,则是耗费了24s,可以看到利用好多线程是能提高很多的生产力的.

当然,由于通信的便利,多线程的使用过程中一定要注意好对于公共变量的加锁,防止中断导致的数据乱套.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值