[英]How many threads I should create for IOCP?
我已经读到传递给CreateIoCompletionPort()
函数的NumberOfConcurrentThreads
参数的理想数是0
,它将转换为内核数。
但是,我应该实际创建多少个线程在完成端口上等待,它是否也应与内核数相同?
用一个确定的数字不可能回答这个问题,因为该数字将取决于代码设计中的许多其他因素。 这些因素包括存在多少其他线程,此IOCP的线程多久工作一次,导致它们阻塞,您实际拥有多少个内核等。
我的首选方法是使线程数在外部可配置,以便您可以在代码运行后对其进行概要分析并调整线程数。
在许多设计和现代硬件中,我发现少量线程是绰绰有余的,而且这个数目通常比内核数少得多。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.