убивает поток, который находится в состоянии блокировки - PullRequest
0 голосов
/ 07 января 2012

У меня есть поток, который блокирует себя при некоторой блокировке. Теперь для некоторых условий я хочу убить поток в c #.Но дело в том, что в thread.abort не гарантируется, что он убьет поток.

Ответы [ 2 ]

2 голосов
/ 07 января 2012

Если вы действительно хотите получить гарантию смерти потока, лучше всего начать новый процесс.

Существует отличная ветка, в которой обсуждаются многие возможные подводные камни для thread.abort здесь .

1 голос
/ 07 января 2012

Предполагая, что вы хотите уничтожить поток детерминированным способом, когда он сталкивается с тупиком.Правильно ?Да, прерывание потока не гарантирует завершения, но почти всегда плохая идея использовать Thread.Abort.Если был способ убить поток мгновенно, это может привести к большим проблемам.Если этот поток заблокировал некоторый ресурс, находится в середине какой-то незафиксированной транзакции и т. Д., И поток, содержащий эти ресурсы, внезапно прерван, никакой другой поток не сможет работать с этими ресурсами.Лучшее предложение, которое я могу дать, это исправить тупиковую ситуацию, а не маскировать ее.

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