我正在尝试安全地杀死一个线程。在我的按钮单击我有:
try
dim bar as new foo()
dim mythread as New System.Threading.Thread(AddressOf bar.Start)
mythread.Start()
sleep(1000)
mythread.abort()
catch ex as Exception
msgbox ex.Message
end try
在我的课程中我有:
class foo
public function Start()
Try
do some stuff...
Catch tae As ThreadAbortException
Thread.ResetAbort()
Catch ex As Exception
LogData("[ ERROR ] ", "[ Start ]" & ex.Message & " line: " & Erl())
End Try
end sub
end class
当它中止线程时,我仍然会收到线程中止错误。我做错了什么?
答案 0 :(得分:2)
“安全地”中止线程真的是不可能的。相反,你应该专注于一种机制,你可以通知线程它应该退出,并允许它合作退出(通过从主入口点方法返回)。