Java併發(五)----線程常見方法總結

常見方法

方法名 static 功能說明 注意
start()   啓動一個新線程,在新的線程運行 run 方法中的代碼 start 方法只是讓線程進入就緒,裏面代碼不一定立刻運行(CPU 的時間片還沒分給它)。每個線程對象的start方法只能調用一次,如果調用了多次會出現 IllegalThreadStateException
run()   新線程啓動後會調用的方法 如果在構造 Thread 對象時傳遞了 Runnable 參數,則線程啓動後會調用 Runnable 中的 run 方法,否則默認不執行任何操作。但可以創建 Thread 的子類對象,來覆蓋默認行爲
join()   等待線程運行結束  
join(long n)   等待線程運行結束,最多等待 n 毫秒  
getId()   獲取線程長整型的 id id 唯一
getName()   獲取線程名  
setName(String)   修改線程名  
getPriority()   獲取線程優先級  
setPriority(int)   修改線程優先級 java中規定線程優先級是1~10 的整數,較大的優先級能提高該線程被 CPU 調度的機率
getState()   獲取線程狀態 Java 中線程狀態是用 6 個 enum 表示,分別爲:NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, TERMINATED
isInterrupted()   判斷是否被打斷, 不會清除 打斷標記
isAlive()   線程是否存活(還沒有運行完畢)  
interrupt()   打斷線程 如果被打斷線程正在 sleep,wait,join 會導致被打斷的線程拋出 InterruptedException,並清除打斷標記;如果打斷的正在運行的線程,則會設置 打斷標記;park 的線程被打斷,也會設置打斷標記
interrupted() static 判斷當前線程是否被打斷 會清除 打斷標記
currentThread() static 獲取當前正在執行的線程  
sleep(long n) static 讓當前執行的線程休眠n毫秒,休眠時讓出 cpu 的時間片給其它線程  
yield() static 提示線程調度器讓出當前線程對CPU的使用 主要是爲了測試和調試

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章