C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#で現在のスレッドの状態(IsAlive)を確認する方法

C#で現在実行中のスレッドの状態を確認するには、IsAlive プロパティを使用します。このプロパティは、スレッドが起動されており、まだ終了していない場合に True を返します。

スレッド情報の取得

まず、CurrentThread プロパティを使って、現在実行中のスレッドの情報を取得します。

Thread thread = Thread.CurrentThread;

次に、取得したスレッドオブジェクトに対して IsAlive プロパティを参照することで、スレッドの状態を確認できます。

thread.IsAlive

サンプルコード

以下は、C#で現在のスレッドの状態を確認する完全なコード例です。スレッドに名前を設定し、その状態を出力しています。

using System;
using System.Threading;

namespace Demo {
   class MyClass {
      static void Main(string[] args) {
         // 現在のスレッドを取得
         Thread thread = Thread.CurrentThread;
         
         // スレッドに名前を設定
         thread.Name = "My New Thread";
         
         // スレッドの状態を表示
         Console.WriteLine("Thread Status = {0}", thread.IsAlive);
         
         Console.ReadKey();
      }
   }
}

実行結果

このプログラムを実行すると、メインスレッドは実行中であるため、以下のように True が出力されます。

Thread Status = True

IsAliveプロパティのポイント

  • True:スレッドが開始されており、まだ実行中または実行可能な状態です。
  • False:スレッドがまだ開始されていないか、すでに終了しています。

なお、より詳細なスレッドの状態(Running、Suspended など)を知りたい場合は、ThreadState プロパティを使用すると、より細かい状態を取得できます。

  1. C#で素数かどうかを判定するプログラムの作成方法【初心者向け】

    素数とは、1とその数自身以外に約数を持たない、1より大きい自然数のことです。この記事では、C#を使ってある数値が素数かどうかを判定するプログラムの作成方法を解説します。 素数判定の基本的な考え方 素数かどうかを判定するには、forループを使用します。ループ内の各反復処理でif文を使い、対象の数値を1から順番に割ったときの剰余(余り)が0になる回数を調べます。 for (int i = 1; i <= n; i++) { if (n % i == 0) { a++; } } ここではカウンター変数aを用意しています。このカウンターは、数値が素数である場合にの

  2. Javaで回文を判定するプログラムの書き方【数値・文字列の実例付き】

    回文(パリンドローム)とは、逆から読んでも同じになる文字列や数値のことです。たとえば、121、313、525 といった数値や、「aba」「wow」のような文字列が回文に該当します。この記事では、Javaを使って回文を判定する方法を、数値の場合と文字列の場合の2つのパターンに分けて、サンプルコードと実行結果とともにわかりやすく解説します。回文数をチェックする方法数値が回文かどうかを判定するには、元の数値を1桁ずつ取り出して逆順に組み立て直し、元の値と比較します。具体的には、剰余演算(%10)で末尾の桁を取り出し、それを結果変数に10倍しながら加算していくことで反転した数値を作れます。サンプルコー