タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

thread数に関するboze0904のブックマーク (2)

  • スレッドプールの上限を変更する(ThreadPool.SetMaxThreads) - いろいろ備忘録日記

    スレッドプールのワーカスレッドの上限は .Net Framework1.x系の時は、25個と決まってしまっており、変更することが難しいかったのですが 2.0から以下のメソッドが追加されています。 SetMaxThreads(ワーカスレッドの上限, 非同期I/Oスレッドの上限) これで、上限を変更できます。 ワーカスレッドのデフォルトは25、非同期I/Oスレッドのデフォルトは1000となっています。 以下、参考リソースです。 System.Threading.ThreadPool.SetMaxThreads(msdn2) http://msdn2.microsoft.com/ja-jp/library/system.threading.threadpool.setmaxthreads(VS.80).aspx

    スレッドプールの上限を変更する(ThreadPool.SetMaxThreads) - いろいろ備忘録日記
  • 非同期デリゲートの最大同時実行数を決める

    .NET 優先順位などの細かい制御は必要とせず、手が空いた時にとりあえず実行すれば良い程度の非同期処理の場合、非同期デリゲートはお手軽で便利だ。.NET Framework 2.0 の時点で、非同期デリゲートの既定同時実行数は「CPU 数 x 25」なので、最近のデュアルコアプロセッサであれば、何も考えなくても 50 まで同時に実行される。 しかし、50 スレッドというのはどう考えても多すぎる。スレッドの切り替え自体、ある程度コストのかかるものだし、ネットワークやデータベースのコネクションを消費するのであれば、同時実行数はせいぜい 10 以下に抑えたいという場合もある(10 にたいして意味はない)。そういう場合は、ThreadPool.QueueUserWorkItem メソッドに処理するメソッドを渡し、ThreadPool.SetMaxThreads メソッド(※1)で最大スレッド数を決

  • 1