/ / Matar um thread que está no estado de bloqueio - c #, .net, multithreading, windows-phone-7, bloqueio

matando um thread que está no estado de bloqueio - c #, .net, multithreading, windows-phone-7, travando

Eu tenho um segmento que bloqueia-se em algum bloqueio.Agora, para alguma condição eu quero matar o segmento em c #. Mas a coisa é que no thread.abort não garante que ele irá matar o fio.

Respostas:

2 para resposta № 1

Se você realmente quer uma garantia de morte do thread, sua melhor opção é iniciar um novo processo.

Existe um excelente tópico que discute muitas das possíveis armadilhas do thread.abort Aqui.


1 para resposta № 2

Supondo que você quer matar o fio em umforma determinista quando encontra um impasse. Certo ? Sim abortar segmento não garante a rescisão, mas é quase sempre uma má idéia usar Thread.Abort. Se houvesse uma maneira de matar o thread instantaneamente, isso poderia levar a problemas maiores. Se este encadeamento tiver bloqueado algum recurso, estiver no meio de alguma transação não confirmada, etc., e o encadeamento que mantém esses recursos for interrompido abruptamente, nenhum outro encadeamento poderá funcionar nesses recursos. A melhor sugestão que posso dar é corrigir a questão do deadlock em vez de mascará-la.