c语言如何多核运行程序,对于多线程程序,单核cpu和多核cpu如何工作?

88011b6b85de1f5b10cfbfa2e6e5fd50.png

1. 单核和多核CPU上多线程执行效率的探讨

a1: 多线程实际上是在单个CPU中按顺序执行的,但是系统可以帮助您切换该执行,但是它不是很快的(相反,是缓慢的)

如果有多个cpus,则可以同时在两个cpus中执行.........

a2: 在单核CPU上运行的多线程程序. 只能同时运行一个线程. 该系统可帮助您切换线程. 系统将时间片分配给每个线程以执行. 每个时间片约为10毫秒. 它似乎同时运行,但实际上每个线程都会运行一点,然后切换到其他线程以继续运行

效率不会提高

切换线程会增加开销

a3: #3F说的是正确的. 因此,不建议不要使用多线程,尤其是在单核CPU上.

e3903b2d4c850c85d83c7d7e76bae061.png

使用单核CPU时使用多线程. 通常,有线程在等待.

对于常见的进度条更新类型,可以简单地控制那些可以简单控制的类型(例如: 在循环中手动处理消息). 通常,不使用线程,这可以提高程序的性能. 并避免不必要的线程同步问题.

a4: 您可以尝试双核和三线程,但是准确性低于双线程!

对于相同的算法,CPU占用率为100%

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值