【C#】Task.Runメソッドについて

Task.Runメソッドについて

MSドキュメント上では、「スレッド プール上で実行する指定された作業をキューに配置し、その作業を表す Task オブジェクトを戻します。」と記載されています。

Runメソッドの引数に指定された処理をスレッドプール上で実行するものくらいと認識しておきます。

 

スレッドプールという言葉が出てきたがスレッドと何が違うの...?

調べてみると

サーバ上でリクエストを並行処理する際にスレッドの生成・破棄を繰り返すとリソースへ負担がかかるため、スレッドプールという仕組みが出来た。

スレッドプールでは、リクエストをスレッドプール専用のキューへ登録し、一度確保したスレッドへリクエストを割り当てることでリソースを再利用するように設計されている。詳しくはこちらの記事を参照。

atmarkit.itmedia.co.jp

 

learn.microsoft.com