是不是线程越多越好?

您所在的位置:网站首页 cpu核数是越高越好还是越低越好呢 是不是线程越多越好?

是不是线程越多越好?

2024-07-11 21:36| 来源: 网络整理| 查看: 265

即使单核CPU计算机,也能“同时”运行数百个线程。但我们都知道这只不过是操作系统用时间分片玩的一个小把戏。这就是所谓的“并发”。

实际上,一个CPU核心同一时刻,只能执行一个线程,然后操作系统切换上下文,CPU核心开始执行另一个线程的任务。因此给定一个CPU核心,按顺序执行任务A和B比”同时“(并发)执行A和B要快。计算机的“并行“能力取决于CPU的核心数目。一旦线程的数量超过了CPU核心数,再增加线程数目,只会让系统变得更慢,而不是更快。

那么什么时候增加线程的数量可以让系统变得更快呢?当线程的任务有大量的“I/O等待”时,线程总是阻塞着等待磁盘、网络等,此时CPU处于IDLE状态,可以用于服务其他线程。这个时候,增加线程数,“并发”处理任务,可以提高系统处理速度。

总结来说,CPU密集型任务,并行执行的线程数应该尽量和CPU核心数保持一致,否则超过了CPU核心数,再提高线程数也不会提高处理速度,反而因为上下文切换带来的损耗降低处理速度。对于I/O密集型任务,根据I/O的响应速度,适当地调节线程数目,可以提高系统速度。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3