由于某种原因,调用Thread.Join()时无法结束线程。我疯了吗?线程看不见全局布尔值
Public Sub StartThread()
_opsthread = New Thread(AddressOf OpsThread)
_opsthread.IsBackground = True
_opsthread.Start()
End Sub
Public Sub StopThread()
_continue = False
_opsthread.Join()
'Application Hangs Here
End Sub
Public Sub OpsThread()
While _continue
Thread.Sleep(1000)
End While
End Sub
我测试了写入的代码,但无法重现挂起。我同意应该以不同的方式访问继续标志。 – dbasnett
对不起,我简化了代码,因为我认为没有人会想要阅读3页代码,无论我多么努力地尝试没有优雅。 – wayofthefuture
然后简化版本不代表问题。 – dbasnett