2

次のアプローチの違いは何ですか?

 Task.Factory.StartNew(() => CustomConnection());  


 new Thread(CustomConnection).Start();

どちらも、ジョブを実行するための新しいスレッドを作成します。スレッドはどのような意味でタスクと異なりますか?
パフォーマンスに関しては、どちらがより良いオプションでしょうか?

4

1 に答える 1

4

主な違いは、タスク アプローチがスレッド プールを利用することです。

これは、絶対に必要な数のスレッドのみを作成することを意味するため、重要です。可能であれば、既存のスレッドが再利用されるため、新しいスレッドを作成する必要がないため、パフォーマンスが向上します。

多数のスレッドを作成している場合、実行時間の比較的短い操作では、上記の利点がより重要になります。ただし、操作が 1 つまたは少数の長時間実行される操作である場合、メリットは少なくなります。

于 2012-11-21T08:49:02.147 に答える