Java線程狀態及Thread類中的主要方法
要想實現多線程,就必須在主線程中創建新的線程對象.
任何線程一般具有5種狀態,即創建,就緒,運行,阻塞,終止.
創建狀態:
在程序中用構造方法創建了一個線程對象后,新的線程對象便處于新建狀態,此時,他已經有了相應的內存空間和其他資源,但還處于不可運行狀態.
就緒狀態:
新建線程對象后,調用該線程的start()方法可以啟動線程.當線程啟動時,線程進入就緒狀態.此時,線程將進入線程隊列排隊,等待CPU服務,這表明它已經具備了運行條件.-------(運行start()方法只是進入就緒狀態,并沒有開始運行.)
運行狀態:
當就緒狀態的線程被調用并獲得處理器資源時,線程就進入了運行狀態.此時,自動調用該現場對象的run()方法.run()方法定義了該線程的操作和功能.
堵塞狀態:
一個正在執行的線程在某些特殊情況下(執行耗時操作或調用sleep(),suspend(),wait()等方法),會讓出CPU并暫時中止自己的執行,進入堵塞狀態.堵塞時,線程不能進入排隊隊列,只有當引起堵塞的原因被消除后,線程才可以轉入就緒狀態.
終止狀態:
線程調用stop()方法時或run()方法執行結束后,即處于死亡狀態.
狀態圖:
Thread類中的主要方法:
join()方法:讓一個線程強制運行,線程強制運行期間,其他線程無法運行,必須等到此線程完成之后才可以繼續執行.
setDaemon():設置線程為后臺線程,這樣即使Java進程結束了,后臺線程依然會繼續執行.

本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!