0

我正在使用 WMI 获取 USB 序列号,当我拨打以下电话时:-

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

我处于调试模式并在线程窗口下观看,我看到在执行此语句后立即添加了一个新线程,这是一个位置为“[在睡眠中,等待或加入]”的工作线程。

你能告诉我为什么它添加线程然后当我离开这段代码时,线程仍然处于活动和运行状态(我可以看到使用 Thread.CurrentThread)

提前致谢。

4

1 回答 1

1

ManagementObjectSearcher is disposable. Try putting it in a using statement:

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

or call the Dispose method manually:

managementObjectSearcher.Dispose();
于 2013-10-11T14:32:58.737 回答