未分類

C# スレッドが終了するまで待機する (2)

準備

(なし)

デザイン

1. フォーム (Form1) にボタン (button1) を配置します。
2. フォーム (Form1) にリストボックス (listBox1) を配置します。

サンプルコード (C#)

// 名前空間の追加
using System.Threading;

// コード
private void button1_Click(object sender, EventArgs e)
{
  Thread th1 = new Thread(new ThreadStart(ThreadTest));
  th1.Start();
  while (th1.IsAlive)
  {
    Application.DoEvents();
  }
}

private void ThreadTest()
{
  for (int i = 0; i < 10; i++)
  {
    Console.WriteLine(i.ToString());
  }
}

解説

スレッドが終了するまで待機します。Join メソッドを使う場合と違い、フォームは固まったような状態とはなりません。

結果

動作確認環境

Visual Studio 2015 Professional (C# 6.0)

-未分類