執行緒的五大狀態及常用方法
阿新 • • 發佈:2020-11-03
執行緒的五大狀態分為建立狀態(New)、就緒狀態(Runnable)、執行狀態(Running)、阻塞狀態(Blocked)、死亡狀態(Dead)
執行緒的常用方法
方法 | 描述 |
---|---|
static void sleep(long millis) | 在指定毫秒內讓執行緒休眠,讓cpu去執行其他任務,但不會釋放鎖 |
void join() | 等待該執行緒終止 |
static void yield() | 執行緒讓步, 暫停當前執行緒,讓cpu去執行其他相同優先順序的執行緒,不會釋放鎖 |
void interrupt() | 執行緒中斷 |
boolean isAlive() | 測試執行緒是否處於活動狀態 |
wait() | 執行緒一直等待,會釋放鎖 |
wait(long millis) | 指定執行緒等待的毫秒數 |
notify() | 喚醒一個處於等待狀態的執行緒 |
notifyAll() | 喚醒同一個物件上所有呼叫wait()方法的執行緒,優先級別高的執行緒優先排程 |
wait()、 wait(long millis) 、notify()、notifyAll() 只能在同步方法或者同步程式碼塊中使用,否則會丟擲IllegalMonitorStateException異常
執行緒的優先順序從1~10
Thread.MIN_PRIORITY = 1 Thread.MAX_PRIORITY = 10