根据网络的说法,子线程共享主线程的资源,所以主线程结束了子线程必然结束。
如果主进程结束(例如:如果子线程不包含任何组件,系统在紧张时优先结束该子线程)会调用ExitProcess(),导致
所有子线程终止。
线程跟线程大家都说没关系 还是不彻底
怎么判断一个线程是否结束:
t.ThreadState 得到值。
成员名称 说明 值
Aborted 线程处于 Stopped 状态中。 256
AbortRequested 已对线程调用了 Thread.Abort 方法,但线程尚未收到试图终止它的挂起的 System.Threading.ThreadAbortException。 128
Background 线程正作为后台线程执行(相对于前台线程而言)。此状态可以通过设置 Thread.IsBackground 属性来控制。 4
Running 线程已启动,它未被阻塞,并且没有挂起的 ThreadAbortException。 0
Stopped 线程已停止。 16
StopRequested 正在请求线程停止。这仅用于内部。 1
Suspended 线程已挂起。 64
SuspendRequested 正在请求线程挂起。 2
Unstarted 尚未对线程调用 Thread.Start 方法。 8
WaitSleepJoin 由于调用 Wait、Sleep 或 Join,线程已被阻塞。 32
Aborted 线程处于 Stopped 状态中。 256
AbortRequested 已对线程调用了 Thread.Abort 方法,但线程尚未收到试图终止它的挂起的 System.Threading.ThreadAbortException。 128
Background 线程正作为后台线程执行(相对于前台线程而言)。此状态可以通过设置 Thread.IsBackground 属性来控制。 4
Running 线程已启动,它未被阻塞,并且没有挂起的 ThreadAbortException。 0
Stopped 线程已停止。 16
StopRequested 正在请求线程停止。这仅用于内部。 1
Suspended 线程已挂起。 64
SuspendRequested 正在请求线程挂起。 2
Unstarted 尚未对线程调用 Thread.Start 方法。 8
WaitSleepJoin 由于调用 Wait、Sleep 或 Join,线程已被阻塞。 32