Как прервать thead после тайм-аута запуска DriveInfo.IsReady на плохом диске - PullRequest
0 голосов
/ 22 мая 2019

Я знаю, что следует избегать прерывания потока, но в этом случае DriveInfo.IsReady в потоке пользовательского интерфейса никогда не возвращается и программа зависает.

Я обнаружил несколько устройств чтения SD-карт, которые вызывают эту проблему (каждая картаСлот, в котором нет карты, остановит программу, проверяющую свойство isReady (или любое другое).

foreach (DriveInfo drive in DriveInfo.GetDrives())
{
    if (drive.IsReady)
        DriveCollection.Add(drive); 
}

Существует ли способ дать каждому диску секунду для ответа и полностью убить поток, покаподдерживает ли пользовательский интерфейс постоянно реагирующий?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...