成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java多線程之線程狀態(tài)詳解之一

開發(fā) 后端
我們已經知道Java中線程一共有6種狀態(tài),在正式開始介紹之前,先給大家介紹一個監(jiān)控線程狀態(tài)的工具,也是JDK自帶的工具。通過這個工具,我們可以更清晰的看到線程此時此刻所處的狀態(tài)是什么。

[[442479]]

本文轉載自微信公眾號「我是開發(fā)者FTD」,作者FTD  。轉載本文請聯(lián)系我是開發(fā)者FTD公眾號。

從上一節(jié),我們已經知道Java中線程一共有6種狀態(tài),在正式開始介紹之前,先給大家介紹一個監(jiān)控線程狀態(tài)的工具,也是JDK自帶的工具。通過這個工具,我們可以更清晰的看到線程此時此刻所處的狀態(tài)是什么。

找到 JDK 的安裝目錄,在bin目錄下可以找到JDK自帶的監(jiān)控工具VisualVM,例如我的目錄是D:\Program Files\Java\jdk1.8.0_251\bin\jvisualvm.exe,如下圖所示:

雙擊打開VisualVM,如下圖所示:

從上圖可以看到,我本地起了五個Java應用,一個是VisualVM程序本身,一個就是IntelliJ IDE工具了,另外幾個是本地Java應用。

我們雙擊VisualVM,可以在右邊欄看到它的一個運行情況,我們選擇切換到線程標簽,就可以看到它當前正在運行的線程的整體情況了。如下圖所示:

我們在右邊欄的下方,選擇一個線程,可以看到當前線程是處于一個WAITING狀態(tài),顯示是在一個LinkedList對象上處于了等待,如下圖所示:

注:截圖中下方的 Thread inspector 窗體是一個插件,默認是沒有安裝的,可在“菜單--工具--插件”下面找到它并安裝即可。如下圖所示:

注:我這里已經安裝過了, 所以會在已安裝那里顯示

好了,有了這個工具后,我們就可以通過它來分析線程的狀態(tài)了,接下來我們再來一起看下Java中的這6個狀態(tài),首先從簡單的談起。

新建態(tài)(NEW)

當使用new Thread()創(chuàng)建一個新的線程,又還沒有開始執(zhí)行(not yet started)它的時候就處于新建(NEW)狀態(tài)。這里所謂“開始執(zhí)行”具體指顯式的調用線程類中的start方法。

注:你不能直接調用run方法,這樣的話還是在原線程上執(zhí)行。只有調用start方法才會開啟新的執(zhí)行線程,接著它會去調用run。

在start之后,線程進入RUNNABLE狀態(tài),之后還可能會繼續(xù)轉換成其它狀態(tài)。

注:一個線程只能被start一次。

終止態(tài)(TERMINATED)

終止狀態(tài),這個也沒什么好說的,線程執(zhí)行完成后(completed execution)或者說線程退出了(exited),此時線程就進入了終止狀態(tài)。

其它狀態(tài)

余下的幾個狀態(tài),由于無法簡單幾句說完,這里先作些簡介,后面會一一詳細介紹:

  • RUNNABLE:前面有提到,它指“正在Java虛擬機中執(zhí)行”,可能是ready,也可能是running,總之是在runnable。
  • BLOCKED:等待監(jiān)視器鎖(waiting for a monitor lock )

這是一種特殊的waiting,實際上就是被synchronized方法或者塊阻塞。monitor有些書上通常叫管程,我也不太確定要怎么叫它。這里叫成 監(jiān)視器 也是取字面的意思。

  • WAITING:無限期等待另一個線程執(zhí)行一個特別的動作。(waiting indefinitely for another thread to perform a particular action )

這里所謂的動作通常即是指“notify或是notifyAll”。

  • TIMED_WAITING:限時等待另一個線程執(zhí)行一個動作。(waiting for another thread to perform an action for up to a specified waiting time )

如果沒有等到如“notify”之類的動作,時間到了也會自動退出這一狀態(tài)。

 

其他狀態(tài)我們在下篇開始一一詳解。

 

責任編輯:武曉燕 來源: 我是開發(fā)者FTD
相關推薦

2021-12-26 18:22:30

Java線程多線程

2021-12-14 08:28:08

Java多線程線程

2017-05-27 20:59:30

Java多線程synchronize

2021-04-26 06:54:15

Redis多線程單線程

2010-01-21 11:25:44

linux多線程線程資源

2010-03-16 17:16:38

Java多線程

2011-06-22 16:08:40

Qt 多線程 事件循環(huán)

2021-02-25 15:58:46

C++線程編程開發(fā)技術

2021-03-05 07:38:52

C++線程編程開發(fā)技術

2011-06-22 16:02:37

Qt 多線程 重入

2009-03-12 10:52:43

Java線程多線程

2013-06-07 16:30:08

iOS多線程iOS開發(fā)NSThread

2017-05-31 14:03:07

Java多線程內置鎖與顯示鎖

2009-06-17 11:23:00

Java多線程

2009-06-29 17:49:47

Java多線程

2017-05-08 11:46:15

Java多線程

2009-06-11 10:22:18

Java多線程

2013-07-16 10:12:14

iOS多線程多線程概念多線程入門

2022-05-20 10:20:17

Spring事務MyBatis

2021-03-28 09:12:58

多線程死鎖技術熱點
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品无码久久久久国产 | 久久精品久久精品久久精品 | 欧美一页 | 精品视频一区二区三区 | av国产精品毛片一区二区小说 | 黄色在线免费看 | 91久久国产综合久久 | 日韩1区| 亚洲一区二区在线播放 | 91精品国产一区二区三区香蕉 | 亚洲欧美一区二区三区视频 | 欧美一区二 | 日韩精品一区二区三区中文在线 | 91九色porny首页最多播放 | 一级看片免费视频囗交动图 | 国产免费一区二区三区 | 久久久精彩视频 | 中文天堂网 | com.色.www在线观看 | 精品久久久久久久久久久久久久 | 美女黄视频网站 | 成人做爰www免费看视频网站 | 四虎影院一区二区 | 日韩成人免费 | 国产中文原创 | 韩国精品在线观看 | 久久久久久成人 | 亚洲网站在线观看 | 午夜视频网站 | 亚洲精品在线免费看 | 美女激情av| 午夜影院普通用户体验区 | 欧美中文字幕在线观看 | 91中文字幕在线观看 | 日韩av在线免费 | 成人国内精品久久久久一区 | 久久综合一区二区三区 | 91麻豆精品国产91久久久久久 | 日韩a v在线免费观看 | 日日摸夜夜添夜夜添特色大片 | 国产.com|