Шаблон тайм-аута - Как плохо Поток. Аварийное прекращение работы действительно?

Вы можете использовать силу Линка:

return new string(tocheckTextBox.Where(c => !char.IsNumber(c)).ToArray())
5
задан Steve 2 April 2009 в 14:59
поделиться

3 ответа

Потенциально очень плохо.

Прерванный поток мог оставить общее состояние поврежденным, мог оставить асинхронное операционное выполнение...

См. блог Joe Duffy: "Управляемый код и асинхронное укрепление исключения".

10
ответ дан 18 December 2019 в 06:23
поделиться

В основном Вы говорите о прерывании действия, которое (насколько мы знаем) не имеет никакого корректного способа прерваться.

Это означает, там не будет никаким безопасным способом прервать его. Thread.Abort просто не хорошая вещь сделать - существуют различные условия состязания и ужасные ситуации, в которые можно войти (см. ссылку в ответе Richard). Я попытался бы отчаянно трудно постараться не желать отменить действия, которые не знают об отмене - и если абсолютно необходимо сделать это, рассмотреть перезапуск целого приложения впоследствии, поскольку Вы больше не можете быть в нормальном состоянии.

13
ответ дан 18 December 2019 в 06:23
поделиться

Это плохо, потому что поток мог бы быть в непоследовательном состоянии или посреди некоторой работы и не иметь возможность разрешить себя.

Для закрытия его правильно Вы предупреждаете, чтобы это остановило то, что это делает путем вызова метода или установки свойства, затем Распараллельте. Соединение для ожидания, пока это не закрывается прежде, чем закрыть приложение или перейти на другие задачи.

2
ответ дан 18 December 2019 в 06:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: