您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關Java中有哪些線程狀態,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
Java的特點有哪些 1.Java語言作為靜態面向對象編程語言的代表,實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程。 2.Java具有簡單性、面向對象、分布式、安全性、平臺獨立與可移植性、動態性等特點。 3.使用Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等。
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中有哪些線程狀態有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。