作り方あれこれ

デリゲートのサポートにより、JavaのThreadモデルより洗練されたものになっている、、と思う(^^;

起動する関数には、制限があり、

  1. 戻り値は void
  2. 引数なし

でないといけない。

  • 作り方1 : 同じクラスのメソッドを別スレッドで起動する
ThreadStart ts = new ThreadStart(my_member_func);
Thread t = new Thread(ts);
t.start();
  • 作り方2 : 違うクラスのstaticメソッドを別スレッドで起動する
class C
{
  public static void func()
  {
  }
}

///////////////////////////

ThreadStart ts = new ThreadStart(C.func);
Thread t = new Thread(ts);
t.Start();
  • 作り方3 : 違うクラスのメソッドを別スレッドで起動する
class C
{
  public void func()
  {
  }
}

/////////////////////////

C c = new C();
ThreadStart ts = new ThreadStart(c.func);
Thread t = new Thread(ts);
t.Start();