Re: Как прервать поток ?
От: Fortnum  
Дата: 19.06.11 16:29
Оценка:
Здравствуйте, Аноним, Вы писали:

А>не всегда при вызове thread.Abort() моментально входит в блок catch, иногда поток висит некоторое время в ступоре, и через десяток секунд проваливается в catch.

А>Например когда это же приложение убивается через task manager то процесс убивается сразу, соответственно завершая все принадлежащие ему потоки мгновенно. Так вот как убить один поток процесса с эффектом как это происходит с task kill чтобы без лишних раздумий прекратил выполнение ? .

С таким же эффектом — никак. Основная причина — при убийстве процесса, освобождаются все ресурсы, связанные в ОС с этим процессом, а при убийстве потока — нет. Почитайте в Remarks TerminateThread. Что касается задержки у вас, то скорее всего во время вызова Thread.Abort поток находится в приостановленном состоянии (типа Thread.Sleep), отсюда и задержка.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.