Здравствуйте, 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>>