更新時間:2020-03-04 12:37:31 來源:動力節點 瀏覽2315次
start()與run()
start()啟動線程并執行相應的run()方法
run()子線程要執行的代碼放入run()方法
getName()和setName()
getName()獲取此線程的名字
setName()設置此線程的名字
isAlive()
是判斷當前線程是否處于活動狀態?;顒訝顟B就是已經啟動尚未終止。
currentThread()
返回代碼段正在被哪個線程調用
sleep()
主要的作用是讓當前線程停止執行,把cpu讓給其他線程執行,但不會釋放對象鎖和監控的狀態,到了指定時間后線程又會自動恢復運行狀態
注意:線程睡眠到期自動蘇醒,并返回到可運行狀態,不是運行狀態。sleep()中指定的時間是線程不會運行的最短時間。因此,sleep()方法不能保證該線程睡眠到期后就開始執行
yield()
中文意思:放棄,屈服
一個線程調用yield()意味著告訴虛擬機自己非常樂于助人,可以把自己的位置讓給其他線程(這只是暗示,并不表絕對)。但得注意,讓出cpu并不代表當前線程不執行了。當前線程讓出cpu后,還會進行cpu資源的爭奪,但是能不能再次分配到,就不一定了
getPriority()和setPriority(intnewPriority)
這兩個方法是用于獲取當前和設置線程的優先級。優先級高的線程得到的cpu多。也就是說,兩個等待的線程,優先級高的線程容易被cpu執行。
默認情況下,線程的優先級是5。線程的優先級分為1~10等級。
getId()
取得線程唯一標識
yield()
yield()暫停當前方法,釋放自己擁有的CPU,線程進入就緒狀態。
join()
所屬線程對象x正常執行run,當前線程z無限等待直到執行完。常用于需要子線程的執行結果
interrupted()
interrupted()是靜態方法:內部實現是調用的當前線程的isInterrupted(),并且會重置當前線程的中斷狀態
isInterrupted()是實例方法,是調用該方法的對象所表示的那個線程的isInterrupted(),不會重置當前線程的中斷狀態
它們的作用是判斷線程是否是停止狀態
isDaeMon、setDaemon(booleanon)
java線程有兩種,一種是用戶線程,一種是守護線程。守護線程是一個特殊的線程,任何一個守護線程都是jvm中所有非守護線程的保姆。當進程中不存在非守護線程時,守護線程會自動銷毀。典型的守護線程就是垃圾回收線程。
第一個是判斷線程是不是守護線程,第二個是設置線程為守護線程,必須在線程start之前setDaemon(true)。
stop()
強制停止,已廢棄
可能釋放鎖導致數據不對。
可能導致清理工作做不好。
suspend和resume
暫停和恢復
會造成獨占(永遠的暫停)(方法)
造成不同步
以上就是動力節點Java培訓機構小編介紹的“Java多線程編程教程:常用方法”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習