java中線程的狀態(tài)學(xué)習(xí)筆記
java開發(fā)中,我們經(jīng)常會(huì)遇到線程的問題,比如你做一個(gè)商城,就需要考慮它的并發(fā)問題等等,今天給大家分享一下java中線程的狀態(tài)
先說線程的第一個(gè)狀態(tài),是新建狀態(tài),這個(gè)是線程剛剛創(chuàng)建的時(shí)候,如:
new Thread(),具體如圖

線程的第二種狀態(tài)是可執(zhí)行狀態(tài),就是調(diào)用了start方法后的狀態(tài),當(dāng)然了,一個(gè)運(yùn)行的狀態(tài),他有可能是正在運(yùn)行的,也有可能是沒有運(yùn)行的,只是他的狀態(tài)是可運(yùn)行的狀態(tài),具體如圖

第三種狀態(tài)是被阻塞或者處于等待的線程,處于這種狀態(tài)下的線程是不活動(dòng)且不運(yùn)行的,比如說調(diào)用了wait方法等都會(huì)造成等待的情況,具體如圖

第四種狀態(tài)就是被終止的狀態(tài),這種狀態(tài)和和上面的狀態(tài)不一樣,上面阻塞狀態(tài)是可以在激活的,終止之后要想在啟動(dòng),只能重新調(diào)用start方法,終止也有兩種方式,第一種是run方法的正常退出,第二種是因?yàn)闆]有捕獲到異常而意外終止了,或者使用stop也可以,具體如圖

最后給大家看一個(gè)關(guān)于線程之間的關(guān)系圖,包括新建,運(yùn)行,阻塞和被終止之間的關(guān)系,具體如圖

- Java檢測(cè)線程中斷狀態(tài)的方法示例
- Java線程狀態(tài)及切換、關(guān)閉線程的正確姿勢(shì)分享
- Java線程池運(yùn)行狀態(tài)監(jiān)控實(shí)現(xiàn)解析
- Java線程的新建和就緒狀態(tài)實(shí)例分析
- 基于java 線程的幾種狀態(tài)(詳解)
- Java線程的生命周期和狀態(tài)控制_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
- Java實(shí)現(xiàn)監(jiān)控多個(gè)線程狀態(tài)的簡(jiǎn)單實(shí)例
- 總結(jié)Java中線程的狀態(tài)及多線程的實(shí)現(xiàn)方式
- Java多線程 線程狀態(tài)原理詳解
相關(guān)文章
SpringBoot+Mybatis使用Enum枚舉類型總是報(bào)錯(cuò)No enum constant&n
這篇文章主要介紹了SpringBoot+Mybatis使用Enum枚舉類型總是報(bào)錯(cuò)No enum constant XX問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
Nacos Namespace/Group/DataID三者關(guān)系解讀
本文介紹了Nacos中的命名空間(Namespace)、配置分組(Group)和配置集ID(DataID)的概念,并詳細(xì)說明了它們之間的關(guān)系和應(yīng)用場(chǎng)景,同時(shí),還提供了三者在不同環(huán)境下的配置切換方案,包括DataID方案、Group方案和命名空間方案2024-12-12
SpringBoot日志進(jìn)階實(shí)戰(zhàn)之Logback配置經(jīng)驗(yàn)和方法
本文給大家介紹在SpringBoot中使用Logback配置日志的經(jīng)驗(yàn)和方法,并提供了詳細(xì)的代碼示例和解釋,包括:滾動(dòng)文件、異步日志記錄、動(dòng)態(tài)指定屬性、日志級(jí)別、配置文件等常用功能,覆蓋日常Logback配置開發(fā)90%的知識(shí)點(diǎn),感興趣的朋友跟隨小編一起看看吧2023-06-06
Java date format時(shí)間格式化操作示例
這篇文章主要介紹了Java date format時(shí)間格式化操作,結(jié)合具體實(shí)例形式分析了java針對(duì)日期時(shí)間進(jìn)行格式化操作的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-03-03

