2013-10-11 61 views
0

我使用WMI獲得USB序列號,當我提出以下電話: -ManagementObjectSearcher增加了在等待,睡眠一個新的線程或加入狀態

var managementObjectSearcher = new ManagementObjectSearcher("SELECT * FROM Win32_LogicalDiskToPartition"); 

我在調試模式下的線程看窗口中,我看到一個新的線程在這個語句執行後立即添加,這是一個工作線程,位置爲「[在睡眠中,等待或連接]」。

你能告訴爲什麼它增加了線程,然後,當我走出這個代碼塊,螺紋仍處於存活和運行狀態(我可以看到使用Thread.CurrentThread)

謝謝提前。

回答

1

ManagementObjectSearcher是一次性的。嘗試把它在一個using語句:

using(var managementObjectSearcher = new ManagementObjectSearcher("SELECT * FROM Win32_LogicalDiskToPartition")) 
{ 
    //do whatever with managementObjectSearcher 
} 

或手動調用Dispose方法:

managementObjectSearcher.Dispose(); 
相關問題