.NETで固定サイズのThreadPoolを作成したい - デフォルトサイズが25であることを理解していますが、別のサイズを使用したいと思います。 5または10.誰でも?.NETで固定サイズのThreadPoolを作成するにはどうすればよいですか?
答えて
スレッドプールのサイズを変更する場合は注意が必要です。 固定システムスレッドプールがあり、あらゆる種類のものが使用します。それを小さすぎると、使用していないと思われる領域に問題が発生する可能性があります。
特定のタスクに対してスレッドプールを比較的小さくしたい場合は、別のプールを使用する必要があります。利用可能なサードパーティーのプールは数多くあります。私はかなり古いものをMiscUtilの一部として持っていますが、単純なユースケースには十分に適しているはずです。あなたが見ていると、より高度なものを見つけることができると確信しています。
フレームワークにはまだインスタンス化可能なThreadPool
が存在しないことは残念です。 Parallel Extensionsが効果的に1つを提供するかどうかはわかりませんが、私はそうではありませんはと考えています。
ThreadPool.SetMaxThreads()
別の非静的な方法はありますか?これで、すべてのThreadPoolsがサイズを決めるわけではありません - 私は、ThreadPoolの単一のインスタンスに特定のサイズを持たせたいだけです。 – DLauer
プロセスごとに1つのBCL ThreadPoolしかありません。あなたのシナリオだけでスレッドプールが必要な場合は、サードパーティのライブラリを見つける必要があります。 –
これはおそらく、実行時には実行できないことに注意する価値があります。もちろん、スレッド内の例外は1.1でメモリ破損の原因となる可能性があるので、使用しないでください。 – quillbreaker
ThreadPool.SetMaxThreads(5,5)5つのスレッドを超えるものはキューに入れられます。
ThreadPool.SetMaxThreads()メソッドが必要です。
ThreadPool.SetMinThreadsとThreadPool.SetMaxThreadsを使用して、スレッドプール内のスレッド数を制御できます。
言われているように、私はこれを慎重に使用することをお勧めします。 BCLの多くの操作では、スレッドプールスレッドが使用可能であるため、トラブルに陥るのは簡単です。
- 1. テーブルの列の幅をHTMLで固定サイズに指定するにはどうすればよいですか?
- 2. graphvizに固定サイズの部分グラフを生成させるにはどうすればよいですか?
- 3. .NETでダイアグラムアプリケーションを作成するにはどうすればよいですか?
- 4. C#で固定長バイト配列のユーザータイプを作成するにはどうすればよいですか?
- 5. 固定サイズの配列を定義するにはどうすればよいですか?
- 6. Androidで固定サイズのスクロールバーをスクロールするにはどうすればよいですか?
- 7. Scalaで固定サイズのリストを実装するにはどうすればよいですか?
- 8. Pythonで固定サイズの書式設定された文字列を作成するにはどうすればよいですか?
- 9. 特定のサイズのSQL Server Geographyポリゴンを作成するにはどうすればよいですか?
- 10. pythonで固定サイズのリストを作成するには? C++で
- 11. スクロールバー(オーバーフロー時)と固定フッターの下にオートハイトコンテンツを作成するにはどうすればいいですか?
- 12. .NETでは、Symlinkではなく、NTFSでジャンクションを作成するにはどうすればよいですか?
- 13. 固定サイズのハンドルでQScrollBarを作成するには?
- 14. Pusherでユーザー固有のチャンネルを作成するにはどうすればよいですか?
- 15. ウェブサービスアプリの作成にはどうすればよいですか?
- 16. jQueryを固定/グリッドレイアウトにするにはどうすればいいですか?
- 17. Mifareカード用のアプリケーション固有のインテントフィルタを作成するにはどうすればよいですか? (Android)
- 18. NSLog、さまざまなサイズのフィールドに対して固定幅出力を作成するにはどうすればよいですか?
- 19. 行固有のSQLキャッシュ依存関係を作成するにはどうすればよいですか?
- 20. ドメイン固有のクエリ言語を作成するにはどうすればよいですか?
- 21. サイズを指定するだけでJavaのようにKotlinで配列を作成するにはどうすればよいですか?
- 22. Android - ギャラリーコンポーネントをロック(固定)するにはどうすればいいですか?
- 23. .NETでこのXMLを作成するにはどうすればよいですか?
- 24. Visual Studioで.NET Coreプロジェクトを実際に作成するにはどうすればよいですか?
- 25. ImageMagickで固定サイズの合成画像を作成する
- 26. WSDLファイルを使用して.NETでプロキシクラスを作成するにはどうすればよいですか?
- 27. HTMLテーブルセルのサイズを継承するように設定するにはどうすればよいですか?
- 28. 特定のサイズのセットパーティションを生成するにはどうすればよいですか?
- 29. Eclipseでプロジェクト固有の「ビルド自動設定」を設定するにはどうすればよいですか?
- 30. .netでdatetime pickerのポップアップのサイズを変更するにはどうすればよいですか?
.NET 4.0のParallel Extensionsは、基本クラスライブラリの標準ThreadPoolを実際に使用します。彼らは自分自身を提供しません。 (BCL ThreadPoolクラスは、.NET 4で改良され、並列拡張を効率的に稼働させるために必要な多くの機能を追加しました。例えば、.NET 3.5よりはるかに優れたスケジューラを持っていますThreadPool) –
@Reed:うん、私はシステムスレッドプールを使ってPFXの通常のビットを知っていた...私も作成することができる新しいものがあったかどうかは確かではなかった。まぁ。 –