java開發(fā)中,我們經(jīng)常會遇到線程的問題,比如你做一個商城,就需要考慮它的并發(fā)問題等等,今天給大家分享一下java中線程的狀態(tài)
創(chuàng)新互聯(lián)主營建華網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都app開發(fā),建華h5小程序開發(fā)搭建,建華網(wǎng)站營銷推廣歡迎建華等地區(qū)企業(yè)咨詢
先說線程的第一個狀態(tài),是新建狀態(tài),這個是線程剛剛創(chuàng)建的時候,如:
new Thread(),具體如圖
線程的第二種狀態(tài)是可執(zhí)行狀態(tài),就是調(diào)用了start方法后的狀態(tài),當(dāng)然了,一個運行的狀態(tài),他有可能是正在運行的,也有可能是沒有運行的,只是他的狀態(tài)是可運行的狀態(tài),具體如圖
第三種狀態(tài)是被阻塞或者處于等待的線程,處于這種狀態(tài)下的線程是不活動且不運行的,比如說調(diào)用了wait方法等都會造成等待的情況,具體如圖
第四種狀態(tài)就是被終止的狀態(tài),這種狀態(tài)和和上面的狀態(tài)不一樣,上面阻塞狀態(tài)是可以在激活的,終止之后要想在啟動,只能重新調(diào)用start方法,終止也有兩種方式,第一種是run方法的正常退出,第二種是因為沒有捕獲到異常而意外終止了,或者使用stop也可以,具體如圖
最后給大家看一個關(guān)于線程之間的關(guān)系圖,包括新建,運行,阻塞和被終止之間的關(guān)系,具體如圖