在 C# 中,每個線程都有一個生命周期。線程的生命周期是在創(chuàng)建System.Threading.Thread類的實例時啟動的。當線程的任務(wù)執(zhí)行完成時,線程的生命周期結(jié)束。
C# 中線程的生命周期中有以下狀態(tài)。
未開始
當Thread類的實例被創(chuàng)建時,默認情況下它處于未啟動狀態(tài)。
可運行狀態(tài)
當線程上的start()方法被調(diào)用時,它處于可運行狀態(tài)或準備運行狀態(tài)。
運行狀態(tài)
一個進程中只能執(zhí)行一個線程。在執(zhí)行時,線程處于運行狀態(tài)。
不可運行狀態(tài)
線程處于不可運行狀態(tài),如果在線程上調(diào)用了sleep()或wait()方法,或者輸入/輸出操作被阻止。
死亡狀態(tài)
完成任務(wù)后,線程進入死亡或終止狀態(tài)。