小編給大家分享一下關于Java線程基礎知識及使用方式,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討方法吧!
在任何的生產環境中我們都不可逃避并發這個問題,多線程作為并發問題的技術支持讓我們不得不去了解。這一塊知識就像一個大蛋糕一樣等著我們去分享,抱著學習的心態,記錄下自己對并發的認識。
1、新建狀態(New):新創建了一個線程對象。
2、就緒狀態(Runnable):線程對象創建后,其他線程調用了該對象的start()方法。該狀態的線程位于可運行線程池中,變得可運行,等待獲取CPU的使用權。
3、運行狀態(Running):就緒狀態的線程獲取了CPU,執行程序代碼。
4、阻塞狀態(Blocked):阻塞狀態是線程因為某種原因放棄CPU使用權,暫時停止運行。直到線程進入就緒狀態,才有機會轉到運行狀態。阻塞的情況分三種:
5、死亡狀態(Dead):線程執行完了或者因異常退出了run()方法,該線程結束生命周期。
2.線程調度
2.1、調整線程優先級:
Java線程有優先級,優先級高的線程會獲得較多的運行機會。Java線程的優先級用整數表示,取值范圍是1~10,Thread類有以下三個靜態常量:
Thread類的setPriority()和getPriority()方法分別用來設置和獲取線程的優先級。
每個線程都有默認的優先級。主線程的默認優先級為Thread.NORM_PRIORITY。
線程的優先級有繼承關系,比如A線程中創建了B線程,那么B將和A具有相同的優先級。
JVM提供了10個線程優先級,但與常見的操作系統都不能很好的映射。如果希望程序能移植到各個操作系統中,應該僅僅使用Thread類有以下三個靜態常量作為優先級,這樣能保證同樣的優先級采用了同樣的調度方式。
3.線程基本方法使用說明:
注意:Thread中suspend()和resume()兩個方法在JDK1.5中已經廢除,不再介紹。因為有死鎖傾向。
Java 中的線程可以分為守護線程(Daemon Thread) 和用戶線程( User Thread) 。用戶線程會阻止JVM 的正常停止,即JVM 正常停止前應用程序中的所有用戶線程必須先停止完畢,否則JVM 無法停止。而守護線程則不會影響JVM 的正常停止,即應用程序中有守護線程在運行也不影響JVM 的正常停止。因此,守護線程通常用于執行一些重要性不是很高的任務,例如用于監視其他線程的運行情況。
看完了這篇文章,相信你對關于Java線程基礎知識及使用方式有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。