ちょうど今、次のコードを使用してキューに入れられたスレッドを追加しています。私はそれが気に入りません。そして、私の同僚は、C#をよく理解していないからといって、どちらにもなりません。私が望むのはもちろん、新しいスレッドで実行されるメソッドをキューに入れることです。C# - ThreadPool QueueUserWorkItem使用しますか?
private static void doStuff(string parameter)
{
// does stuff
}
// call (a)
ThreadPool.QueueUserWorkItem(a => doStuff("hello world"));
// call (b)
ThreadPool.QueueUserWorkItem(delegate { doStuff("hello world"); });
のでThreadPool.QueueUserWorkItem
の他の使用バリエーションがあるのですか?
ベストは別の1-Line-Callです。可能であればFunc<>
またはAction<>
を使用してください。
編集:回答とコメントから(b)を取得しました。
シナリオでThreadPool.QueueUserWorkItem()に問題がありますか? –
「委任」キーワードを使用できます。何かのように、ThreadPool.QueueUserWorkItem(delegate {doStuff( "");})。上記の方法と同じですが、望むように、これは別の方法です。 –
なぜ、デリゲートの構文がlambdasよりもクリーンだと思いますか? –