我知道应该避免中止线程,但是在这种情况下,永远不会返回UI线程上的DriveInfo.IsReady并且程序冻结。
我发现了几个导致此问题的SD卡读取器(每个没有卡的卡插槽都会冻结程序检查isReady属性(或其他任何属性)。
foreach (DriveInfo drive in DriveInfo.GetDrives())
{
if (drive.IsReady)
DriveCollection.Add(drive);
}
有没有一种方法可以让每个驱动器在第二时间响应并干净地杀死线程,同时始终保持UI响应?