[英]How many threads I should create for IOCP?
我已經讀到傳遞給CreateIoCompletionPort()
函數的NumberOfConcurrentThreads
參數的理想數是0
,它將轉換為內核數。
但是,我應該實際創建多少個線程在完成端口上等待,它是否也應與內核數相同?
用一個確定的數字不可能回答這個問題,因為該數字將取決於代碼設計中的許多其他因素。 這些因素包括存在多少其他線程,此IOCP的線程多久工作一次,導致它們阻塞,您實際擁有多少個內核等。
我的首選方法是使線程數在外部可配置,以便您可以在代碼運行后對其進行概要分析並調整線程數。
在許多設計和現代硬件中,我發現少量線程是綽綽有余的,而且這個數目通常比內核數少得多。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.