该方法完成后这个线程会发生什么?(What happens with this thread aft

2019-10-31 04:14发布

在我的ASP.NET应用程序中,边倒栈我把下面的代码:

Public Shared Sub Larma(ByVal personId As Integer)
    Dim thread As New System.Threading.Thread(New ParametrizedThreadStart(AddressOf Larma_Thread))
    thread.Start(personId)
End Sub

Private Shared Sub Larma_Thread(ByVal personId As Integer)
    StartaLarm(personId)
    Thread.Sleep(1000 * 30)
    StoppaLarm(personId)
End Sub

虽然这种线程运行时,该请求的其余部分被处理,并且响应被发送到客户端。 但是,因为我从来没有调用thread.Abort()或类似的东西,我很没有经验与ASP.NET线程,我很担心,我打开了内存泄漏或其他线程问题。

与线程我开始后上面的代码会发生什么Larma_Thread完成运行?

Answer 1:

线程的代码执行完毕后,该线程将被停止其资源回收。



Answer 2:

一旦你的工作就完成了该线程将被终止。

请注意,在你的工作已经完成我倒是IIS决定它需要回收ASP.NET工作线程的线程也可能被终止。



文章来源: What happens with this thread after the method finishes?