鴻蒙OS Thread.State

2022-05-31 15:39 更新

Thread.State

java.lang.Object

|---java.lang.Enum<Thread.State&

|---|---java.lang.Thread.State

public static enum Thread.State
extends Enum<Thread.State>

線程狀態(tài)。 線程可以處于以下狀態(tài)之一:

  • NEW 尚未啟動(dòng)的線程處于此狀態(tài)。
  • RUNNABLE 在 Java 虛擬機(jī)中執(zhí)行的線程處于此狀態(tài)。
  • BLOCKED 阻塞等待監(jiān)視器鎖的線程處于此狀態(tài)。
  • WAITING 無限期等待另一個(gè)線程執(zhí)行特定操作的線程處于此狀態(tài)。
  • TIMED_WAITING 等待另一個(gè)線程執(zhí)行操作達(dá)指定等待時(shí)間的線程處于此狀態(tài)。
  • TERMINATED 已退出的線程處于此狀態(tài)。

一個(gè)線程在給定的時(shí)間點(diǎn)只能處于一種狀態(tài)。 這些狀態(tài)是不反映任何操作系統(tǒng)線程狀態(tài)的虛擬機(jī)狀態(tài)。

枚舉常量摘要

枚舉常量 描述
BLOCKED 線程阻塞等待監(jiān)視器鎖的線程狀態(tài)。
NEW 尚未啟動(dòng)的線程的線程狀態(tài)。
RUNNABLE 可運(yùn)行線程的線程狀態(tài)。
TERMINATED 已終止線程的線程狀態(tài)。
TIMED_WAITING 具有指定等待時(shí)間的等待線程的線程狀態(tài)。
WAITING 等待線程的線程狀態(tài)。

方法總結(jié)

修飾符和類型 方法 描述
static Thread.State valueOf(String name) 返回具有指定名稱的此類型的枚舉常量。
static Thread.State[] values() 按照聲明的順序返回包含此枚舉類型常量的數(shù)組。
從類 java.lang.Enum 繼承的方法
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
從類 java.lang.Object 繼承的方法
getClass, notify, notifyAll, wait, wait, wait

枚舉常量詳細(xì)信息

NEW

public static final Thread.State NEW

尚未啟動(dòng)的線程的線程狀態(tài)。

RUNNABLE

public static final Thread.State RUNNABLE

可運(yùn)行線程的線程狀態(tài)。 處于可運(yùn)行狀態(tài)的線程正在 Java 虛擬機(jī)中執(zhí)行,但它可能正在等待來自操作系統(tǒng)的其他資源,例如處理器。

BLOCKED

public static final Thread.State BLOCKED

線程阻塞等待監(jiān)視器鎖的線程狀態(tài)。 處于阻塞狀態(tài)的線程正在等待監(jiān)視器鎖進(jìn)入同步塊/方法或調(diào)用 Object#wait() 后重新進(jìn)入同步塊/方法。

WAITING

public static final Thread.State WAITING

等待線程的線程狀態(tài)。 由于調(diào)用以下方法之一,線程處于等待狀態(tài):

  • Object#wait() 沒有超時(shí)
  • 沒有超時(shí)的 Thread.join
  • 鎖支持#park()

處于等待狀態(tài)的線程正在等待另一個(gè)線程執(zhí)行特定操作。 例如,一個(gè)對(duì)對(duì)象調(diào)用 Object.wait() 的線程正在等待另一個(gè)線程對(duì)該對(duì)象調(diào)用 Object.notify() 或 Object.notifyAll()。 已調(diào)用 Thread.join() 的線程正在等待指定線程終止。

TIMED_WAITING

public static final Thread.State TIMED_WAITING

具有指定等待時(shí)間的等待線程的線程狀態(tài)。 由于以指定的正等待時(shí)間調(diào)用以下方法之一,線程處于定時(shí)等待狀態(tài):

  • Thread.sleep
  • Object#wait(long) with timeout
  • Thread.join with timeout
  • LockSupport#parkNanos
  • LockSupport#parkUntil

TERMINATED

public static final Thread.State TERMINATED

已終止線程的線程狀態(tài)。 線程已完成執(zhí)行。

方法詳情

values

public static Thread.State[] values()

按照聲明的順序返回包含此枚舉類型常量的數(shù)組。 此方法可用于迭代常量,如下所示:

for (Thread.State c : Thread.State.values())
    System.out.println(c);

返回:

包含此枚舉類型的常量的數(shù)組,按聲明的順序排列

valueOf

public static Thread.State valueOf(String name)

返回具有指定名稱的此類型的枚舉常量。 該字符串必須與用于在此類型中聲明枚舉常量的標(biāo)識(shí)符完全匹配。 (不允許使用無關(guān)的空白字符。)

參數(shù):

參數(shù)名稱 參數(shù)描述
name 要返回的枚舉常量的名稱。

返回:

具有指定名稱的枚舉常量

Throws:

Throw名稱 Throw描述
IllegalArgumentException 如果此枚舉類型沒有具有指定名稱的常量
NullPointerException 如果參數(shù)為null
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)