エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
非同期デリゲートの最大同時実行数を決める
.NET 優先順位などの細かい制御は必要とせず、手が空いた時にとりあえず実行すれば良い程度の非同期処理... .NET 優先順位などの細かい制御は必要とせず、手が空いた時にとりあえず実行すれば良い程度の非同期処理の場合、非同期デリゲートはお手軽で便利だ。.NET Framework 2.0 の時点で、非同期デリゲートの既定同時実行数は「CPU 数 x 25」なので、最近のデュアルコアプロセッサであれば、何も考えなくても 50 まで同時に実行される。 しかし、50 スレッドというのはどう考えても多すぎる。スレッドの切り替え自体、ある程度コストのかかるものだし、ネットワークやデータベースのコネクションを消費するのであれば、同時実行数はせいぜい 10 以下に抑えたいという場合もある(10 にたいして意味はない)。そういう場合は、ThreadPool.QueueUserWorkItem メソッドに処理するメソッドを渡し、ThreadPool.SetMaxThreads メソッド(※1)で最大スレッド数を決