首页 > 解决方案 > 为什么线程不会增加运行时间超过某个点

问题描述

基本上,我有一个表,其中包含程序中的线程数和程序的运行时间(以秒为单位)

Threads Runtime
1       12.06
2       6.03
3       4.02
4       4.556
5       4.154
10      3.216
15      2.68
20      3.082
25      2.814
50      3.35

我理解为什么拥有线程/并发会大大增加运行时开始,但是,我有点困惑,当我们得到 10-50 个线程时,运行时保持相对稳定并且似乎根本没有增加,尽管线程数量大幅度增加。

为什么是这样?

标签: multithreadingconcurrency

解决方案


线程代表其父进程的细分。

在您的情况下,我预测您的大多数线程根本无关紧要!

“单线程”案例预测您最坏情况的运行时间。不出所料,“二线”一分为二,“三线”一分为三。“四线及以上”明确表示没有额外的好处。其余人无事可做。


推荐阅读