我正在構建一個使用非託管C++ dll的.NET Windows服務。 我的服務和C++ dll都使用多線程。 我在處理一段時間(幾小時)後內存不足。 我嘗試使用「的性能計數器」 測量的線程的數目和我監視下列值:當前線程的性能計數器
# of current logical Threads
# of current recognized threads
# of total recognized Threads
雖然第一個是穩定和它的值是合理的第二和第三都沒有。 他們一直在成長,並達到一個巨大的數字(超過1500)。 他們是平等的!
它們應該相等嗎?我也從this page不瞭解這些計數器是否會計算託管線程和非託管線程。
我懷疑非託管代碼一直在啓動新線程而不是重用它們,但我不確定。
任何人都可以幫忙嗎? 謝謝
是的,聽起來像DLL沒有重用或不處理它的使用線程。 – 2010-01-27 14:08:34