パラメータ付きスレッド開始 質問する

パラメータ付きスレッド開始 質問する

C# でパラメータ付きのスレッドを開始するにはどうすればよいですか?

ベストアンサー1

Thread コンストラクターの 2 つのオーバーロードのうちの 1 つは、開始メソッドに単一のパラメーターを渡すことができる ParameterizedThreadStart デリゲートを必要とします。残念ながら、単一のパラメーターしか許可されず、オブジェクトとして渡すため安全ではありません。ラムダ式を使用して関連するパラメーターを取得し、厳密に型指定された方法で渡す方がはるかに簡単だと思います。

以下を試してください

public Thread StartTheThread(SomeType param1, SomeOtherType param2) {
  var t = new Thread(() => RealStart(param1, param2));
  t.Start();
  return t;
}

private static void RealStart(SomeType param1, SomeOtherType param2) {
  ...
}

おすすめ記事