關於執行緒狀態

2021-05-08 20:25:14 字數 766 閱讀 6527

開始學時,感覺有些混亂,自己總結了一下: 1.

啟動執行緒

「start

」用來啟動

thread

物件,讓執行緒進入「等待執行」狀態,而不是執行狀態。通過

cpu排程,從等待狀態轉到執行狀態,而我們無法執行**執行緒的執行時間和順序。

2.暫停執行緒(1

)sleep

方法當呼叫這個方法後,執行緒物件會進入「阻塞狀態」,直到暫停的時間到了後,才會轉移到等待執行狀態。

注意:當系統睡醒後,不是立刻進入執行狀態,而是進入等待狀態,等待系統挑選後,才能繼續執行,所以讓

thread

物件睡1

秒鐘,只是保證這個

thread

至少會停留這麼長的時間。(2

)yield

方法呼叫這個方法後,

thread

物件會立刻暫停執行,並直接從執行態轉向「等待執行狀態」。

有時可能立刻又被系統挑中,進入執行狀態。

3)join

方法當乙個系統中有好幾個

thread

在執行時,有時某個執行緒甲要等待另乙個執行緒乙完成某件事情,甲才能繼續下去,這時要用

join

方法。注意,是甲和乙之間簽訂協議,甲乙都必須遵守,但要有乙個

thread

丙,丙則不必遵守。

關於windows執行緒的各種狀態

由於不同程序中的執行緒可能併發執行,因而windows支援程序間的併發性。此外,同乙個程序中的多個執行緒可以分配給不同的處理器並且同時執行。乙個含有多執行緒的程序在實現併發時,不需要使用多程序的開銷。同乙個程序中的執行緒可以通過它們的公共位址空間交換資訊,並訪問程序中的共享資源,不同程序中的執行緒可...

執行緒池 關於執行緒池的五種狀態

在threadpoolexecutor類中定義了執行緒的五種狀態表示,通過atomicinteger 的高三位來表示執行緒的狀態 private static final int count bits integer.size 3 private static final int running 1...

Java執行緒 執行緒狀態

執行緒可以建立6狀態 new 新建立 runnable 可執行 blocked 被阻塞 waiting 等待 timed waiting 計時等待 terminated 被終止 1 新建執行緒 2 可執行執行緒 一旦呼叫start 方法,執行緒就處於runnable狀態,但是卻不必保持執行。執行中的...