Java線程生命周期有以下幾個(gè)狀態(tài):
新建狀態(tài)(New):線程被創(chuàng)建但還未開(kāi)始執(zhí)行。
就緒狀態(tài)(Runnable):線程已經(jīng)被創(chuàng)建并且可以開(kāi)始執(zhí)行,但還未被調(diào)度執(zhí)行。
運(yùn)行狀態(tài)(Running):線程正在執(zhí)行任務(wù)。
阻塞狀態(tài)(Blocked):線程暫時(shí)停止執(zhí)行,等待某個(gè)條件的滿足(比如等待I/O操作的完成)。
等待狀態(tài)(Waiting):線程等待另一個(gè)線程執(zhí)行完特定的動(dòng)作。
計(jì)時(shí)等待狀態(tài)(Timed Waiting):線程等待一段時(shí)間后自動(dòng)返回。
終止?fàn)顟B(tài)(Terminated):線程執(zhí)行完任務(wù),終止。
這些狀態(tài)可以通過(guò)Thread類(lèi)的一些方法來(lái)切換,比如start()方法可以將線程從新建狀態(tài)切換到就緒狀態(tài),sleep()方法可以將線程從運(yùn)行狀態(tài)切換到計(jì)時(shí)等待狀態(tài)等。