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