2

假设您有一个多线程程序,每个线程都可以从 DLL 调用一个函数,并且该 DLL 中的函数将以多线程方式处理数据,一般来说,这样做是否有任何性能优势/打击而不是使DLL中的这些函数单线程?

4

1 回答 1

2

也许,也许不是。这取决于很多事情。

首先,产生新线程非常昂贵,因此并行完成的工作量将需要抵消这一成本。

其次,这些线程需要有空闲的 CPU 周期才能真正并行运行,而不是时间分片到同一个内核上。

最后,线程需要能够使用这些空闲的 CPU 周期,而不是例如花费大部分时间等待对方。

于 2012-12-02T08:03:48.760 回答