Re[3]: Завершение работы потоков
От: _Morpheus_  
Дата: 23.10.07 09:52
Оценка:
Здравствуйте, nzeemin, Вы писали:


N>Все что делает Thread.Abort() — просто бросает исключение ThreadAbortException. Если у вас в рабочем треде где-то это исключение ловится и поток работает дальше (а это может быть просто

N> catch(Exception ex)), то не удивляйтесь что поток после Abort() не завершается.

исключение ThreadAbort невозможно отловить, как только завершится блок catch обрабатывающий его, оно будет тутже сгенерировано поновой — это непрерываемое исключение, оно будет генерироваться до тех пор пока управление не покинет процедуру потока

А Abort не работает по совсем другой причине — Abort не может прервать выполнение unmanaged вызова, сделанного гдето внутрях фреймворка, в данном случае скорее всего проиходит блокирующий вызов ReadFile, поэтому Abort прервать его не может
... << RSDN@Home 1.2.0 alpha rev. 676>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.