溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java中有哪些線程狀態(tài)

發(fā)布時(shí)間:2021-04-22 17:00:38 來源:億速云 閱讀:163 作者:Leah 欄目:編程語言

今天就跟大家聊聊有關(guān)Java中有哪些線程狀態(tài),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

Java的特點(diǎn)有哪些

Java的特點(diǎn)有哪些 1.Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,實(shí)現(xiàn)了面向?qū)ο罄碚?,允許程序員以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程。 2.Java具有簡單性、面向?qū)ο?、分布式、安全性、平臺(tái)獨(dú)立與可移植性、動(dòng)態(tài)性等特點(diǎn)。 3.使用Java可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等。

1、新建(New):創(chuàng)建后尚未啟動(dòng)的線程處于這種狀態(tài)。

2、運(yùn)行(Runnable):包括操作系統(tǒng)線程狀態(tài)中的Running和Ready,也就是處于此狀態(tài)的線程有可 能正在執(zhí)行,也有可能正在等待著操作系統(tǒng)為它分配執(zhí)行時(shí)間。 

3、無限期等待(Waiting):處于這種狀態(tài)的線程不會(huì)被分配處理器執(zhí)行時(shí)間,它們要等待被其他線程顯式喚醒。以下方法會(huì)讓線程陷入無限期的等待狀態(tài):

沒有設(shè)置Timeout參數(shù)的Object::wait()方法; 

沒有設(shè)置Timeout參數(shù)的Thread::join()方法;

LockSupport::park()方法。 

4、限期等待(Timed Waiting):處于這種狀態(tài)的線程也不會(huì)被分配處理器執(zhí)行時(shí)間,不過無須等待被其他線程顯式喚醒,在一定時(shí)間之后它們會(huì)由系統(tǒng)自動(dòng)喚醒。以下方法會(huì)讓線程進(jìn)入限期等待狀態(tài): 

設(shè)置了Timeout參數(shù)的Object::wait()方法; 

設(shè)置了Timeout參數(shù)的Thread::join()方法;

LockSupport::parkNanos()方法; 

LockSupport::parkUntil()方法。

5、阻塞(Blocked):線程被阻塞了,“阻塞狀態(tài)”與“等待狀態(tài)”的區(qū)別是“阻塞狀態(tài)”在等待著獲取到 一個(gè)排它鎖,這個(gè)事件將在另外一個(gè)線程放棄這個(gè)鎖的時(shí)候發(fā)生;而“等待狀態(tài)”則是在等待一段時(shí) 間,或者喚醒動(dòng)作的發(fā)生。在程序等待進(jìn)入同步區(qū)域的時(shí)候,線程將進(jìn)入這種狀態(tài)。 

6、結(jié)束(Terminated):已終止線程的線程狀態(tài),線程已經(jīng)結(jié)束執(zhí)行。 

看完上述內(nèi)容,你們對(duì)Java中有哪些線程狀態(tài)有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI