對於多執行緒的幾個狀態的自我理解

2021-10-24 21:56:55 字數 635 閱讀 1585

我們在剛剛new乙個執行緒的時候,就會進入我們執行緒的新建狀態

我們在呼叫執行緒的start方法之後,執行緒就會進入就緒的狀態

我們在呼叫執行緒的一些方法之後,執行緒會暫停,進入阻塞狀態,下面列舉一些主要讓執行緒阻塞的方法

sleep:執行緒休眠,可以指定執行緒的休眠時間,就是讓執行緒停止多少秒

wait:執行緒等待,字面意思,也就是讓執行緒等待一段時間,知道執行緒執行了notify方法之後,執行緒才會重新進入可執行狀態

yield:執行緒讓步,讓優先順序更高的執行緒先執行,這裡注意,呼叫yield方法之後,執行緒還是處於可執行狀態,他不會使線**正進入乙個阻塞狀態

join:執行緒自閉,他會等所有執行緒執行完之後才會由阻塞狀態進入可執行狀態

這個時候,執行緒才真正的在執行執行緒中的**塊

執行緒**塊執行完畢或者是產生錯誤,執行緒會進入死亡狀態,且無法重啟

對於多執行緒的一些理解

實現多執行緒的兩種方法 繼承thread類 實現runnable介面 jdk1.5之後提供了乙個心得callable介面 在啟動多執行緒的時候必須通過start 方法,而不能直接呼叫run 方法 原因 先來看下start 方法在thread類中的定義 public synchronized void...

多執行緒的狀態

借用老師講課內容 新生new 例項化,但還未做任何操作 就緒ready 乙個執行緒已經開啟,已經開始爭搶cpu時間片。執行run 乙個執行緒搶到了cpu時間片,開始執行這個執行緒中的邏輯 阻塞interrupt 乙個執行緒在執行過程中,收到某些操作的影響,放棄了已經獲取到的cpu時間片,並且不再參與...

對於http狀態碼的理解

1xx 臨時響應 表示臨時響應並需要請求者繼續執行操作的狀態碼 2xx 成功 表示成功的處理了請求的狀態碼。常見的2開頭的狀態碼有 200 伺服器成功返回網頁 3xx 重定向 表示要完成請求,需要進一步操作。通常,這些狀態 用來重定向。常見的3字開頭的狀態碼有 301 永久移動 請求的網頁已永久移動...