首頁  >  文章  >  Java  >  Java線程有哪些狀態

Java線程有哪些狀態

WBOY
WBOY轉載
2023-04-18 20:46:03970瀏覽

1、新建(New):已建立後尚未啟動的執行緒處於這種狀態。

2、運行(Runnable):包含作業系統執行緒狀態中的Running和Ready,也就是處於此狀態的執行緒有可能正在執行,也有可能正在等待著作業系統為它分配執行時間。 

3、期等待(Waiting):處於此狀態的執行緒不會被指派處理器執行時間,它們要等待被其他執行緒明確喚醒。以下方法會讓執行緒陷入期的等待狀態:

沒有設定Timeout參數的Object::wait()方法; 

沒有設定Timeout參數的Thread::join()方法;

LockSupport::park()方法。

4、限期等待(Timed Waiting):處於這種狀態的執行緒也不會被指派處理器執行時間,不過無須等待被其他執行緒明確喚醒,在一定時間之後它們會由系統自動喚醒。以下方法會讓執行緒進入限期等待狀態: 

設定了Timeout參數的Object::wait()方法; 

設定了Timeout參數的Thread::join()方法;

LockSupport::parkNanos()方法; 

LockSupport::parkUntil()方法。

5、阻塞(Blocked):線程被阻塞了,「阻塞狀態」與「等待狀態」的區別是「阻塞狀態」在等待獲取到一個排它鎖,這個事件將在另一個執行緒放棄這個鎖的時候發生;而「等待狀態」則是在等待一段時間,或是喚醒動作的發生。在程式等待進入同步區域的時候,執行緒將進入這種狀態。 

6、結束(Terminated):已終止執行緒的執行緒狀態,執行緒已經結束執行。 

java基本資料型有哪些

Java的基本資料型別分為:

1、整數型,用來表示整數的資料型態。

2、浮點型,用來表示小數的資料型別。

3、字元類型,字元類型的關鍵字是「char」。

4、布林類型,是表示邏輯值的基本資料型別。

以上是Java線程有哪些狀態的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除