.NET で固定の任意サイズの ThreadPool を作成したい - デフォルトのサイズが 25 であることは理解していますが、5 や 10 などの別のサイズが必要です。
5 に答える
スレッドプールのサイズの変更には注意が必要です。あらゆる種類のもので使用される固定システムスレッドプールは1つだけです。小さすぎると、使用しているとは思わなかった領域で問題が発生する可能性があります。
1つの特定のタスクに対して比較的小さなスレッドプールが必要な場合は、別のプールを使用する必要があります。さまざまなサードパーティのプールが利用可能です。MiscUtilの一部としてかなり古いプールがありますが、単純なユースケースには十分なはずです。見ればもっと進んだものが見つかると思います。
フレームワークにインスタンス化できるものがまだないのは残念ですThreadPool。Parallel Extensionsが効果的に提供するかどうかは思い出せませんが、そうなるとは思いません。
You can use ThreadPool.SetMinThreads and ThreadPool.SetMaxThreads to have some control over the number of threads in the thread pool.
That being said, I recommend being cautious in using this. It's easy to get yourself into trouble, as many operations in the BCL rely on threadpool threads being available.
ThreadPool.SetMaxThreads()
ThreadPool.SetMaxThreads(5,5) の場合、5 つを超えるスレッドはキューに入れられます。
ThreadPool.SetMaxThreads() メソッドが必要です。