Java多線程編程教程:常用方法

Java多線程編程教程:常用方法

天津卓眾教育      2022-04-13 20:21:01     20

Java多線程編程教程:常用方法,  start()與run()  start()啟動(dòng)線程并執(zhí)行相應(yīng)的run()方法  run()子線程要執(zhí)行的代碼放入run()方法  getName()和setName

課程價(jià)格 請咨詢

上課時(shí)段: 授課校區(qū):

詳細(xì)介紹


  start()與run()


  start()啟動(dòng)線程并執(zhí)行相應(yīng)的run()方法


  run()子線程要執(zhí)行的代碼放入run()方法


  getName()和setName()


  getName()獲取此線程的名字


  setName()設(shè)置此線程的名字


  isAlive()


  是判斷當(dāng)前線程是否處于活動(dòng)狀態(tài)?;顒?dòng)狀態(tài)就是已經(jīng)啟動(dòng)尚未終止。


  currentThread()


  返回代碼段正在被哪個(gè)線程調(diào)用


  sleep()


  主要的作用是讓當(dāng)前線程停止執(zhí)行,把cpu讓給其他線程執(zhí)行,但不會釋放對象鎖和監(jiān)控的狀態(tài),到了指定時(shí)間后線程又會自動(dòng)恢復(fù)運(yùn)行狀態(tài)


  注意:線程睡眠到期自動(dòng)蘇醒,并返回到可運(yùn)行狀態(tài),不是運(yùn)行狀態(tài)。sleep()中指定的時(shí)間是線程不會運(yùn)行的最短時(shí)間。因此,sleep()方法不能保證該線程睡眠到期后就開始執(zhí)行


  yield()


  中文意思:放棄,屈服


  一個(gè)線程調(diào)用yield()意味著告訴虛擬機(jī)自己非常樂于助人,可以把自己的位置讓給其他線程(這只是暗示,并不表絕對)。但得注意,讓出cpu并不代表當(dāng)前線程不執(zhí)行了。當(dāng)前線程讓出cpu后,還會進(jìn)行cpu資源的爭奪,但是能不能再次分配到,就不一定了


  getPriority()和setPriority(intnewPriority)


  這兩個(gè)方法是用于獲取當(dāng)前和設(shè)置線程的優(yōu)先級。優(yōu)先級高的線程得到的cpu多。也就是說,兩個(gè)等待的線程,優(yōu)先級高的線程容易被cpu執(zhí)行。


  默認(rèn)情況下,線程的優(yōu)先級是5。線程的優(yōu)先級分為1~10等級。


  getId()


  取得線程唯一標(biāo)識


  yield()


  yield()暫停當(dāng)前方法,釋放自己擁有的CPU,線程進(jìn)入就緒狀態(tài)。


  join()


  所屬線程對象x正常執(zhí)行run,當(dāng)前線程z無限等待直到執(zhí)行完。常用于需要子線程的執(zhí)行結(jié)果


  interrupted()


  interrupted()是靜態(tài)方法:內(nèi)部實(shí)現(xiàn)是調(diào)用的當(dāng)前線程的isInterrupted(),并且會重置當(dāng)前線程的中斷狀態(tài)


  isInterrupted()是實(shí)例方法,是調(diào)用該方法的對象所表示的那個(gè)線程的isInterrupted(),不會重置當(dāng)前線程的中斷狀態(tài)


  它們的作用是判斷線程是否是停止?fàn)顟B(tài)



  isDaeMon、setDaemon(booleanon)


  java線程有兩種,一種是用戶線程,一種是守護(hù)線程。守護(hù)線程是一個(gè)特殊的線程,任何一個(gè)守護(hù)線程都是jvm中所有非守護(hù)線程的保姆。當(dāng)進(jìn)程中不存在非守護(hù)線程時(shí),守護(hù)線程會自動(dòng)銷毀。典型的守護(hù)線程就是垃圾回收線程。


  第一個(gè)是判斷線程是不是守護(hù)線程,第二個(gè)是設(shè)置線程為守護(hù)線程,必須在線程start之前setDaemon(true)。


  stop()


  強(qiáng)制停止,已廢棄


  可能釋放鎖導(dǎo)致數(shù)據(jù)不對。


  可能導(dǎo)致清理工作做不好。


  suspend和resume


  暫停和恢復(fù)


  會造成獨(dú)占(永遠(yuǎn)的暫停)(方法)


  造成不同步



      以上就是天津卓眾教育Java培訓(xùn)機(jī)構(gòu)小編介紹的“Java多線程編程教程:常用方法”的內(nèi)容,希望對大家有幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。


Java編程教程

培訓(xùn)啦提醒您:交易時(shí)請核實(shí)對方資質(zhì),對于過大宣傳或承諾需謹(jǐn)慎!任何要求預(yù)付定金、匯款等方式均存在風(fēng)險(xiǎn),謹(jǐn)防上當(dāng)。