public void threadMethod()
{
try
{
// do something
}
catch (ThreadInterruptedException e)
{
Console.WriteLine("[Net]", role, "Thread interrupted.");
n.CloseConnection();
}
finally
{
if (isAutenticated == false)
{
n.CloseConnection();
}
Dispatcher.Invoke(addMessage, "Network connection searching was disabled.");
DebuggerIX.WriteLine("[Net]", role, "Finished");
Dispatcher.Invoke(threadStoppedDel);
}
}
Phương pháp threadMethod được chạy qua System.Threading.Thread. Chủ đề có thể bị gián đoạn bất cứ khi nào ngoại lệ ThreadInterruptedException có thể bị ném vào cuối cùng, phải không? Tôi có phải kèm theo khối cuối cùng trong try-catch một lần nữa không?Làm thế nào để xử lý đúng ThreadInterruptedException?
Cảm ơn!
Cách tốt nhất để xử lý nó là không gây ra nó. Không sử dụng ngoại lệ cho việc thay đổi điều khiển luồng của chủ đề của bạn. Sử dụng các tín hiệu luồng chéo được thiết lập tốt như 'ManualResetEvent'. –