
1. 单核和多核CPU上多线程执行效率的探讨
a1: 多线程实际上是在单个CPU中按顺序执行的,但是系统可以帮助您切换该执行,但是它不是很快的(相反,是缓慢的)
如果有多个cpus,则可以同时在两个cpus中执行.........
a2: 在单核CPU上运行的多线程程序. 只能同时运行一个线程. 该系统可帮助您切换线程. 系统将时间片分配给每个线程以执行. 每个时间片约为10毫秒. 它似乎同时运行,但实际上每个线程都会运行一点,然后切换到其他线程以继续运行
效率不会提高
切换线程会增加开销
a3: #3F说的是正确的. 因此,不建议不要使用多线程,尤其是在单核CPU上.

使用单核CPU时使用多线程. 通常,有线程在等待.
对于常见的进度条更新类型,可以简单地控制那些可以简单控制的类型(例如: 在循环中手动处理消息). 通常,不使用线程,这可以提高程序的性能. 并避免不必要的线程同步问题.
a4: 您可以尝试双核和三线程,但是准确性低于双线程!
对于相同的算法,CPU占用率为100%的最小线程数是最有效的. 如果CPU占用率很高,则最适合使用单核单线程,双核双线程,四核和四线程.
但是,为什么有时线程数超过CPU内核数会更快?原因是此类程序的单线程操作量不足以占用CPU的一个核心(例如,IO操作很多,IO相对较慢,这是程序的瓶颈)
a5: 使用多线程是在执行耗时的操作时,您需要等待返回结果. 这时,多线程可以提高程序的并发程度. 如果不需要等待并执行可以顺序完成的任务,那么使用多个线程就是一种浪费.
2. 谈论多核CPU,多线程和并行计算

a1: CPU发展趋势
核心数将继续增加. 根据摩尔定律,由于单核性能提高的严重瓶颈问题,到2017年底和2018年初,普通台式PC有望达到24核(或16核和32线程). 我们如何应对这种突然增长在核心数上?编程还必须与时俱进. 作者大胆地预测,CPU内核之间的片上总线将以4路组连接: ),因为完全连接太复杂,并且单条总线还不够. 而且它应该是一个不对称的多核处理器,可以与多个DSP处理器或流处理器混合使用.
a2: 线程越多越好?何时需要使用多线程?
线程不得尽可能多. 线程切换也很昂贵. 添加线程时,增加的开销少于线程可以消除的阻塞时间,这是值得的.
自2.6内核以来,Linux为不同的内核提供了不同的线程进行处理. 从NT.4.0开始,Windows也支持此功能.
何时应使用多线程?应该在四种情况下对此进行讨论:
a. 多核CPU密集型任务. 这时,请尝试使用多线程来提高任务执行效率,例如加密和解密,数据压缩和解压缩(视频,音频,普通数据),否则只能加载一个核心,而其他核心则处于空闲状态

b. 单核CPU密集型任务. 此时的任务已消耗了100%的CPU资源,并且没有必要也没有可能使用多线程来提高计算效率;相反,如果要进行人机交互,最好使用多线程,以防止用户无法与计算机交互. 继续.
c. 单核CPU-IO密集型任务,使用多线程是为了方便人机交互,
d. 更不用说多核CPU-IO密集型任务,原因与单核时相同.
4. 程序员需要掌握的技能/技术
(1)减少序列化代码以提高效率. 这是胡说八道.
(2)单个共享数据分发: 复制一个数据的多个副本,以便不同的线程可以同时访问它.
(3)负载平衡可以分为静态和动态. 有关详细信息,请参阅相关文献.

3. 请问: CPU多核与应用程序多线程之间是什么关系?
a1: 多核意味着系统可以同时运行多个线程. 例如,双核可以同时执行两个线程. 单个内核一次只能执行一个线程.
a2: 我尝试了从192.168.0.1到192.169.0.255的ping程序
它是通过多线程完成的,发现单核计算机和多核计算机之间的性能差异大约是两倍.
a3: 多核对用户是透明的. 应该说,它对程序员是透明的. 您完全不必担心. 当您使用单核编程时,就可以了. 除非使用OpenMP进行编程,否则将使用很多限制. 您的上述测试不准确. 网络(主要是远程主机)在不同时间将具有不同的响应速度. 您应该在干净的本地计算机和相同的环境中进行测试. 但是,对于多线程多核要优于单核这还是可以肯定的. 简而言之,我们不必担心该程序在单核或多核上的并发问题.
a4: 多核是指具有多个核的CPU,并且多线程意味着程序具有同时执行的多个线程.
多核还需要使用多线程来利用.
类似地,多线程只能在多核上具有真正的优势.
在这方面,它对程序员不是透明的. 程序员可以控制程序/线程在哪个CPU(内核)上运行. 用户还可以控制程序在哪个内核上运行. 因此,多核和多线程对用户和程序员而言并不透明. 程序员必须了解这一知识. 为了使程序最大化机器的性能.
原始链接
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shoujiruanjian/article-299307-1.html
好可怕
千玺就像现实版的真人小王子