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