我已经读过传递给NumberOfConcurrentThreads
函数的CreateIoCompletionPort()
参数的理想数字是0
,这将转换为核心数。
但是,我应该在完成端口上等待多少个线程,它是否应该与内核数量相同?
答案 0 :(得分:1)
这个问题无法用最终数字来回答,因为该数字将取决于代码设计中的许多其他因素。诸如存在多少其他线程,此IOCP的线程工作的频率导致它们阻塞的频率,实际拥有的核心数等等因素。
我首选的方法是使外部可配置的线程数量,以便您可以在代码工作后对其进行分析并调整线程数。
在许多设计中,使用现代硬件,我发现少量线程绰绰有余,而且这个数字通常比核心数少得多。