更新時間:2021-05-18 10:44:04 來源:動力節點 瀏覽1274次
(1)進程:進程是操作系統的基礎,是一次程序的執行,是一個程序及其數據在處理機上順序執行時所發生的活動,是程序在一個數據集合上運行的過程,他是系統進行資源分配和調度的一個獨立單位。
(2)線程:線程可以理解為進程中獨立運行的子任務,線程只能歸屬于一個進程并且它只能訪問該進程所擁有的資源。
(1)繼承Thread類,該類在源碼實現上,也是實現了Runnable接口,使用該類最大的局限性就是java不支持多繼承。
(2)實現Runnable接口.
(1)currentThread():返回代碼段正在被哪個線程調用的信息。
(2)isAlive():判斷當前線程是否處于活動狀態。
(3)sleep():當前線程休眠。
(4)getId():獲取當前線程的唯一標識。
(1)使用退出標志,是線程正常退出,也就是當run方法完成后線程退出。
(2)使用stop方法強行終止線程,不推薦此方法,因為stop和suspend、resume方法都是作廢過期的方法,使用將產生不可預期的結果。
(3)使用interrupt方法中斷線程。
(1)suspend():暫停線程
(2)resume():恢復暫停線程的執行
缺點:這兩個方法,使用不當,極易造成公共的同步方法被獨占,使得其它線程無法訪問。還會出現因為線程暫停而導致數據不同步的情況
這個方法的作用是放棄當前的CPU資源,將它讓給其它的任務去占用CPU執行時間,但放棄的時間不確定,有可能剛剛放棄,馬上又獲得CPU時間片。
(1)在操作系統中,線程可以劃分優先級,優先級較高的線程得到的CPU資源較多,也就是CPU優先執行優先級較高的線程對象中任務。在java中,線程的優先級分為1~10這10個等級。如果超出,拋出異常
(2)線程優先級的繼承性:在java中,線程的優先級具有繼承性,比如A線程啟動B線程,則B線程跟A線程的優先級是一樣的。
(3)優先級具有規則性和隨機性:高優先級的線程總是大部分先執行完,但不代表高優先級的線程總是每一次都先執行完。
在java線程中,有兩種線程,一種是用戶線程。一種是守護線程,守護線程是一種特殊的線程,當進程中不存在非守護線程了,則守護線程自動銷毀。典型的守護線程就是垃圾會收線程
以上就是動力節點小編介紹的"Java多線程編程核心技術總結",希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為您服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習