ThreadStateとは? わかりやすく解説

ThreadState 列挙体

スレッド現在の実行状態を指定します

名前空間: System.Diagnostics
アセンブリ: System (system.dll 内)
構文構文

public enum ThreadState
public enum class ThreadState
public enum ThreadState
public enum ThreadState
メンバメンバ
 メンバ説明
Initializedスレッド初期化されたが、まだ開始していないことを示す状態。 
Ready解放されているプロセッサがないため、スレッドプロセッサ使用待機していることを示す状態。スレッドは、次に利用可能になるプロセッサ実行する準備整ってます。 
Runningスレッドが現在プロセッサ使用していることを示す状態。 
Standbyスレッドがすぐにプロセッサ使用することを示す状態。一度1 つスレッドだけが、この状態になることができます。 
Terminatedスレッド実行終了しスレッド自身終了したことを示す状態。 
Transitionスレッドが、実行前にプロセッサ以外のリソース待機していることを示す状態。たとえば、ディスクから実行スタックページング待機している場合あります。 
Unknownスレッドの状態が不明です。 
Waitスレッドが、周辺操作完了またはリソース解放待機しているために、プロセッサ使用する準備整っていないことを示す状態。スレッド準備が整うと、スケジュール再設定されます。 
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

ThreadState 列挙体

Thread実行状態を指定します

この列挙体には、メンバ値のビットごとの組み合わせ可能にする FlagsAttribute 属性含まれています。

名前空間: System.Threading
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<SerializableAttribute> _
<ComVisibleAttribute(True)> _
<FlagsAttribute> _
Public Enumeration ThreadState
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
[FlagsAttribute] 
public enum ThreadState
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
[FlagsAttribute] 
public enum class ThreadState
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
/** @attribute FlagsAttribute() */ 
public enum ThreadState
SerializableAttribute 
ComVisibleAttribute(true) 
FlagsAttribute 
public enum ThreadState
メンバメンバ
 メンバ説明
AbortedスレッドStopped 状態です。 
AbortRequestedスレッド上で Thread.Abort メソッド呼び出しますが、そのスレッド終了試み保留中の System.Threading.ThreadAbortExceptionスレッド受け取っていません。 
Backgroundスレッドは、フォアグラウンド スレッドではなくバックグランド スレッドとして実行します。この状態は、Thread.IsBackground プロパティ設定して制御されます。 
Runningスレッドブロックせずに起動します。保留中の ThreadAbortException もありません。 
Stoppedスレッド停止します。 
StopRequestedスレッド停止要求します。これは、内部でだけ使用します。 
Suspendedスレッド中断します。 
SuspendRequestedスレッド中断要求します。 
Unstartedスレッド上に Thread.Start メソッド呼び出しません。 
WaitSleepJoinWaitSleep、または Join呼び出すと、スレッドブロックされます。 
解説解説

ThreadState は、スレッド指定できるすべての実行状態のセット定義しますスレッドは、作成されてから終了するまでの間に、少なくとも 1 つの状態になります共通言語ランタイム内で作成されスレッド初期状態Unstarted です。一方ランタイム外部から入ってきたスレッドは既に Running 状態になってます。Unstarted スレッドは、Start呼び出すと、Running 状態に移行します。ThreadState 値の組み合わせがすべて有効とは限りません。たとえば、同時に Aborted態と Unstarted 状態になることはありません。

メモ重要 :

スレッド状態は、デバッグを行う場合必要になることがありますコードでは、スレッド状態を使用してスレッド動作同期しないでください

状態が変更される原因となるアクション次の表に示します

上に示した状態の他に、Background 状態もあります。これは、スレッドバックグランドフォアグラウンドのどちらで実行されているかどうかを示す状態です。

スレッド特定の場合複数の状態になることがあります。たとえば、スレッドWait呼び出してブロックされ別のスレッドがそのブロックされスレッドAbort呼び出すと、スレッド同時に WaitSleepJoin の状態と AbortRequested の状態になります。この場合は、スレッドWait呼び出しから戻る、または中断されるとすぐに ThreadAbortException を受け取りアボート開始します

スレッドの Thread.ThreadState プロパティは、スレッド現在の状態提供しますアプリケーションは、ビットマスク使用してスレッド実行かどうか判断する必要がありますRunning の値が 0 である場合は、C# コード ((myThread.ThreadState & (ThreadState.Stopped | ThreadState.Unstarted)) == 0 など) または Visual Basic コード ((myThread.ThreadState And (ThreadState.Stopped Or ThreadState.Unstarted)) = 0 など) を使用してスレッド実行かどうかテストします

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ThreadState」の関連用語

ThreadStateのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ThreadStateのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS