【发布时间】:2018-08-02 03:18:54
【问题描述】:
我正在开发一个 Windows C++ 应用程序。我们使用 boost 库。我的应用程序中有一个操作可以并行化以在多个线程上运行。线程数每次取决于操作参数,并且可能很大(比如 50 或 70)。我不想产生尽可能多的线程,因为这是应用程序对其他操作无响应的风险(因为所有处理器都可能被占用)。我怎样才能确保我不会造成我所描述的情况?线程池有帮助吗?如果有,如何帮助?
【问题讨论】:
-
如果您认为创建 50 个线程是一个好主意,那么,是的,非常支持线程池。它内置在操作系统中,您会喜欢 SetThreadpoolThreadMaximum()。
标签: windows multithreading c++11 boost threadpool