首頁  >  文章  >  类库下载  >  thread類別有哪些方法

thread類別有哪些方法

清浅
清浅原創
2019-04-08 13:42:4031380瀏覽

Thread類別中的方法可分為實例方法和靜態方法,其中實例方法有start()方法,run()方法等,靜態方法有currentThread()方法,sleep(long millis )方法等

thread類別有哪些方法

【推薦課程: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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn