知識點詳細說明
Java線程的核心方法集中在Thread
類和Object
類中,以下是新增整合后的常用方法分類解析:
1. 線程生命周期控制
方法 | 作用 | 注意事項 |
---|
start() | 啟動新線程,JVM調用run() 方法 | 多次調用會拋出IllegalThreadStateException (線程狀態不可逆)。 |
run() | 線程的任務邏輯 | 直接調用run() 不會啟動新線程,只會在當前線程執行代碼。 |
sleep(long millis) | 讓當前線程休眠指定毫秒數 | 休眠時不釋放鎖,需處理InterruptedException 。 |
interrupt() | 中斷目標線程(設置中斷標志) | 若線程在sleep() /wait() 中,會拋出InterruptedException 并清除中斷狀態。 |
join() / join(long millis) | 等待目標線程終止 | 調用t.join() 的線程會阻塞,直到t 執行完畢或超時。 |
2. 線程狀態查詢
方法 | 作用 |
---|
isAlive() | 判斷線程是否存活(已啟動且未終止)。 |
isInterrupted() | 判斷線程是否被中斷(不清除中斷狀態)。 |
static interrupted() | 判斷當前線程是否被中斷(清除中斷狀態)。 |
3. 線程調度與優先級
方法 | 作用 |
---|
yield() | 提示調度器讓出當前線程的CPU時間片(但不保證)。 |
setPriority(int priority) | 設置線程優先級(1~10,默認5)。< |