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