Windows CreateThreadpool限制C++中的线程数

标签 windows threadpool

我在服务器中使用新的 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/

相关文章:

c++ - boost::asio 线程池与 io_service_per_cpu 设计

windows - 哪些错误/异常会触发 Windows 错误报告?

具有已知池大小但未知工作人员的 Java- FixedThreadPool

java - 在关闭时可靠地关闭线程池中的客户端套接字

java - 第一次运行后 scheduleAtFixedRate 不执行

c# - 异步等待和线程

python - pyinstaller 和 onefile build 导致 Error loading Python DLL (error code 14001)

windows - 将 IIS AppPool\ASP.NET v4.0 添加到本地窗口组

c - 如何使窗口不透明?

c++ - : file. h 与 file.cxx 中的函数实现