标签: multithreading
线程启动时,谁决定线程的状态;是活着还是死了?
答案 0 :(得分:2)
你还没有说,但我假设你指的是.NET中的Thread.IsAlive属性。
此属性由框架本身自动设置。基本上,当你去Thread.Start()时,框架运行一些代码来设置线程准备好运行(包括设置IsAlive到true),打开try...catch阻止并调用您的委托。当您的委托返回(或抛出异常)时,框架内部会有更多代码执行以拆除线程(并将IsAlive设置为false)。
Thread.Start()
IsAlive
true
try...catch
false