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) {
...
}