我在服务器中使用新的 C++ 线程池 Windows API (StartThreadpoolIo/StartThreadpoolIo) 来管理 IO 线程池(客户端通过套接字连接)。我详细探索了 MSDN,但没有找到 - 如何限制工作线程数?
我可以限制通过 CreateThreadpool(SetThreadpoolThreadMaximum 和 SetThreadpoolThreadMinimum)创建的线程池的工作线程,但不能限制 CreateThreadpoolIo。有没有限制IO线程池线程数的功能?是否有手动实现的最佳实践?
最佳答案
CreateThreadpool
,然后SetThreadpoolThreadMaximum
,然后使用该池InitializeThreadpoolEnvironment
,并使用该环境调用CreateThreadpoolIo
。因此IO-callback
将使用您的有限池而不是默认池。
关于Windows CreateThreadpool限制C++中的线程数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15304114/