スレッドの使用方法の特性をオペレーティングシステムが理解しているという利点はありますか?たとえば、集中的なCPU計算に使用されることを示すために新しいスレッドを作成するときにJavaに方法があった場合、I/Oがブロックされます。これが能力であればスレッドのスケジューリングは改善されないでしょうか?オペレーティングシステムがスレッドの使用方法の特性を理解する利点はありますか?
2
A
答えて
3
スレッドがI/Oまたは計算であるという情報をOSが実際に期待していることはわかりません。実際にスレッドのスケジューリング方法(スレッド優先度とスレッドCPU親和性)との最大の違いは、APIによってすでに公開されていることです(NUMAの側面も主流のOS APIに反映され始めています)。
「コンピューティングスレッド」は、バックグラウンド処理を行い、GUIスレッドより重要でない場合(アプリケーションの応答性を維持する観点から)、おそらく最も有益なことは、スレッドを少し計算します。
3
これは、OSプロセスが行うことです。 OSには、プロセスのための洗練されたスケジューリングがあります。 OSはI/O使用とCPU使用を追跡し、優先順位を動的に調整し、CPUを大量に使用する処理がI/Oを妨げないようにします。
これらの機能を使用するには、適切なOSプロセスを使用します。
1
これも必要ですか? I/Oでスレッドをブロックすると、CPUを大量に消費するスレッドが実行されます。オペレーティングシステムは、スレッドをスケジュールする方法を決定します。 AFAIKには、Javaのヒントはありません。
1
はい、あなたが特にスレッドをたくさん開いているような建築家の場合は、特にそれを理解することが非常に重要です。
WintellectのJeff Richter overはライブラリPowerThreadingを持っています。 .NET上でアプリケーションを開発している場合は非常に便利ですが、Javaについて話しているので、OSスレッド、カーネルモデル、割り込みの仕組みを理解することがさらに重要です。
関連する問題
- 1. スレッドを特定のコアで動作させる利点はありますか?
- 2. ニューラルネットワークにテンソルフローを使用する利点はありますか?
- 3. Mantra.jsアーキテクチャフレームワークを使用する利点はありますか?
- 4. LF over CRLFを使用する利点はありますか?
- 5. Androidサポートライブラリの使用に不利な点はありますか?
- 6. scipy.spatial.distance.pdistの利点を理解する
- 7. 利点のダイレクトアドレステーブルを理解する
- 8. Unity3dでスレッドを使用する方法はありますか?
- 9. リンクの代わりにボタンを使用する利点はありますか?
- 10. userscriptでは、querySelector()とjQueryの$()を使用する利点はありますか?
- 11. スレッドをサポートしていないオペレーティングシステムはありますか?
- 12. 特定のメソッドを使用してIDataReaderから値を取得する利点はありますか?
- 13. Javaを使用してオペレーティングシステムを特定する方法は?
- 14. PHPでオブジェクトを使用するとパフォーマンス上の利点はありますか?
- 15. `unreachable!` vs `panic!`を使用するとパフォーマンス上の利点はありますか?
- 16. スレッドの安全性を理解する
- 17. リストの理解を破る方法はありますか?
- 18. Android:@ idの性能を上回って@idを使用する利点はありますか?
- 19. メモリ管理の目的で複数のヒープを使用する利点はありますか?
- 20. Python 3を使用する利点/利点は何ですか?
- 21. NativeScriptでSwiftやJavaを使用する利点はありますか?
- 22. 休止状態でラクダコンポーネントを使用する利点はありますか?
- 23. Objective-Cでブロックを関数に使用する利点はありますか?
- 24. UIApplicationDelegateが所有するオブジェクトの割り当てを解除する利点はありますか?
- 25. メソッドを特定のスレッドに限定する方法はありますか?
- 26. Jobインスタンスを再利用する方法はありますか?
- 27. RGB(0,0,0)で彩度の特異性を理解する方法
- 28. Androidプラットフォームを利用するにはどのようなパターンを理解する必要がありますか?
- 29. SSLの利点は面倒な価値がありますか?
- 30. "new EventHandler"宣言の明示的な使用に利点がありますか?
オペレーティングシステムのスレッドスケジューラよりもアプリケーションが "影響力"を持つ能力は良い考えであるように感じます。おそらく問題は、この機能が存在するかどうかです。アプリケーションが悪用しようとするスレッドの優先順位以外の特性は何ですか? – McGovernTheory