PR

 マルチスレッドのプログラムを作るには、Threadクラスを使う。

 Threadクラスを使うことで、特定のプロセスに関連付けられた1つ以上のスレッドを作成できる。スレッドで実行するプログラムを指定するには、ThreadStartデリゲートを使用する。

 ThreadStateプロパティを取得することで、スレッドの状態を把握できる。また、IsAliveプロパティを使うことで、スレッドがタスクの実行状態かどうかを把握できる。

 ThreadPriorityプロパティを使うと、スレッドの優先順位を設定できる。ただしスケジューリング優先順位を設定しても、その優先順位がオペレーティングシステムで有効ではない可能性もある。

サンプルコードを見る


名前空間
System.Threading
対応バージョン
.NET Framework 2.0、1.1、1.0
.NET Compact Framework 2.0、1.0
主なプロパティ
CurrentCulture
現在のスレッドのカルチャを取得または設定する。

CurrentThread
スタティック現在実行中のスレッドを取得する。

CurrentUICulture
リソースマネージャで使用される、現在のカルチャを取得または設定する。

IsAlive
現在のスレッドの実行ステータスを取得する。

IsBackground
スレッドがバックグラウンドスレッドであるかどうかを取得または設定する。

Priority
スレッドのスケジューリング優先順位を取得または設定する。

ThreadState
現在のスレッドの状態を取得または設定する。

主なメソッド
Abort
スレッドの終了プロセスを開始させる。このメソッドを呼び出すと、スレッドが終了する。

Interrupt
スレッドを中断する。

Join
スレッドの処理が終了するまで待機する。

ResetAbort
スタティック現在のスレッドに対して要求されたAbortをキャンセルする。

Resume
中断されたスレッドを再開する。

Sleep
指定したミリ秒数の間現在のスレッドをブロックする。スタティックメソッドであるため、インスタンスを作らずに呼び出す。

SpinWait
スレッドをiterationsパラメータで定義した時間の間待機させる。スタティックメソッドであるため、インスタンスを作らずに呼び出す。

Start
スレッドの実行をスケジュールする。

Suspend
スレッドを中断する。