Thread類別中的方法可分為實例方法和靜態方法,其中實例方法有start()方法,run()方法等,靜態方法有currentThread()方法,sleep(long millis )方法等
【推薦課程:Java教學】
Thread類別中的實例方法
start()方法
這個方法的作用就是通知執行緒規劃器此現場可以運作了。要注意,呼叫start方法的順序不代表執行緒啟動的順序,也就是cpu執行哪個執行緒的程式碼具有不確定性。
run()方法
這個方法是執行緒類別呼叫start後所執行的方法,如果直接呼叫run而不是start方法,那麼跟普通方法一樣沒有區別
isAlive()方法
是判斷目前執行緒是否處於活動狀態。活動狀態就是已經啟動尚未終止。
getPriority()和setPriority(int newPriority)方法
這兩個方法是用來取得目前和設定執行緒的優先權。優先權高的執行緒得到的cpu多。也就是說,兩個等待的線程,優先順序高的線程容易被cpu執行。預設情況下,執行緒的優先權是5。執行緒的優先權分為1~10等級。
isDaeMon、setDaemon(boolean on)方法
#java線程有兩種,一種是使用者線程,一種是守護線程。守護線程是一個特殊的線程,任何一個守護線程都是jvm中所有非守護線程的保母。當進程中不存在非守護線程時,守護線程會自動銷毀。典型的守護線程就是垃圾回收線程。
第一個方法是判斷線程是不是守護線程,第二個方法是設定線程為守護線程,必須在線程start之前setDaemon(true)
interrupt()方法
使用這個方法不會中斷執行緒。實際上呼叫interrupt實際作用是在執行緒受到阻塞時拋出中斷訊號,這樣執行緒就得以退出阻塞狀態。
join()方法
join方法會使得呼叫join方法的執行緒無限阻塞,直到呼叫join方法的執行緒銷毀為止,join方法內部使用的是wait (),所以會釋放鎖。
Thread類別的靜態方法
currentThread()方法
該方法傳回的目前正在執行執行緒物件的引用。
sleep(long millis)方法
sleep方法的作用就是在指定的時間讓正在執行的執行緒休眠。並不釋放鎖。
yield()方法
暫停目前執行的執行緒對象,並執行其他執行緒。這個暫停會放棄cpu資源,放棄的時間不確定
Thread類別中的方法呼叫方式
呼叫Thread中的方法的時候,在執行緒類別中,有兩種方式:
this.xxx()方式
這種方式的執行緒是執行緒實例本身
Thread.currentThread .xxx()或Thread.xxx()方式
這種表示執行緒執行Thread.currenThread.xxx()所在程式碼區塊的執行緒。
總結:以上就是這篇文章的全部內容了,希望對大家有幫助。
以上是thread類別有哪些方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!