當前位置:文思屋>社會工作>面試問題>

java執行緒面試題

文思屋 人氣:7.98K

一、執行緒的四種狀態

java執行緒面試題

1. 新狀態:執行緒已被建立但尚未執行(start() 尚未被呼叫)。

2. 可執行狀態:執行緒可以執行,雖然不一定正在執行。CPU 時間隨時可能被分配給該執行緒,從而使得它執行。

3. 死亡狀態:正常情況下 run() 返回使得執行緒死亡。呼叫 stop()或 destroy() 亦有同樣效果,但是不被推薦,前者會產生異常,後者是強制終止,不會釋放鎖。

4. 阻塞狀態:執行緒不會被分配 CPU 時間,無法執行。

二、執行緒的優先順序

執行緒的優先順序代表該執行緒的重要程度,當有多個執行緒同時處於可執行狀態並等待獲得 CPU 時間時,執行緒排程系統根據各個執行緒的優先順序來決定給誰分配 CPU 時間,優先順序高的'執行緒有更大的機會獲得 CPU 時間,優先順序低的執行緒也不是沒有機會,只是機會要小一些罷了。

你可以呼叫 Thread 類的方法 getPriority() 和 setPriority()來存取執行緒的優先順序,執行緒的優先順序界於1(MIN_PRIORITY)和10(MAX_PRIORITY)之間,預設是5(NORM_PRIORITY)。