Javaネイティブスレッドを使用して、スレッドが実行されているプロセッサ(単一のシステムまたは複数のシステムのいずれか)を見つける方法はありますか?そうでなければ、助けることができる図書館はありますか?Javaスレッドはどのプロセッサで実行されていますか?
答えて
私はそのような呼び出しを聞いたことがなく、実際には必要ではないため、プラットフォーム固有のコードが余分に必要になるため、1つあります。
JVMのスレッドスケジューラはJVM固有のものであるため、「普遍的な」ソリューションはありません。私が知る限り、すぐに使えるものは何もありませんが、おそらく次のものを使用しています:
- Sun JVM;
- Solaris - またはMacの場合、として、Tom Hawtin - tacklineを指摘します。
- DTrace。
あなたは、いくつかの運を持っているかもしれません:
- トレース
args[3]
として持ってthread-start
プローブ、 - 「ネイティブ/ OSスレッドIDは、これは、ホスト・オペレーティング・システムによって割り当てられたIDです。」 Solaris固有のユーティリティを使用して、ネイティブ/ OSスレッドIDをCPUにマップします。
dtraceはMac OS Xでも利用できます(JREは時代遅れです)。 –
ありがとう、更新された投稿。 –
抽象レイヤーが正しくありません。
あなたのプログラムは、必要な作業をスレッドに分割してスケジューリングのためにJVMに送信することを心配する必要があります。どのスレッドがどのスレッド(どのJVMか、それともそのオペレーティングシステムか、それとも誰か)のスケジュールとどのスレッドがどのCPU /コアで実行されて終了するかは、プログラム設計上の要因ではないはずですJavaのように。
OSは、異なる時間に異なるプロセッサ上のスレッドをスケジュールします。だから、たとえ各スレッドがいつ実行されているかのスナップショットを取得しても、ミリ秒以内に期限切れになる可能性があります。
あなたが解決しようとしている問題は何ですか?おそらくこれを知らなくても、あなたがしたいことをすることができます。
- 1. 各スレッドが実行されているプロセッサを見つけるにはどうすればよいですか?
- 2. Javaでは、スレッドが実行されているかどうかをどのように判断しますか?
- 3. スレッドがJava fxで実行されているかどうかを検出
- 4. Javaスレッドが実行されているコアを特定するにはどうすればよいですか?
- 5. スレッドは1回しか実行されません - Java - Android
- 6. Android、Handlerはメインスレッドまたは他のスレッドで実行されていますか?
- 7. C#とJavaのGUIコンポーネントはそれぞれ別のスレッドで実行されていますか?
- 8. Javaのスレッド内でスレッドを実行できますか?
- 9. iOSでは、GestureRecogizerのターゲットアクションが別のスレッドで実行されていますか?
- 10. Delphi - スレッドはActiveXフォームで実行されていませんが、他の場所で実行されます
- 11. Asp.net C#:他のスレッドがスレッド内で実行されているかどうかを確認します。
- 12. guavaキャッシュのremovalListenerは別のスレッドで実行されていますか?
- 13. 他のスレッドが実行されていないときに複数のスレッドを実行しますか?
- 14. 最大でn個のJavaスレッドを実行しています
- 15. スレッドはPythonスクリプトでは並行して実行されていません
- 16. Javaのスレッドが実行されていて、スレッドの参照を所有していない場合、スレッドはガーベッジ・コレクションを受け取りますか
- 17. Java - Executors.newFixedThreadPoolで実行されたスレッドは決して終了しません。
- 18. Pythonロギングは独自のスレッドで実行されますか?
- 19. getlastknownlocationは別のスレッドで実行されますか?
- 20. Web Audio APIイベントは別のスレッドで実行されますか?
- 21. executorserviceワーカーが別のスレッドで実行されていません
- 22. CPythonインタプリタ自体とスクリプトは同じスレッドで実行されていますか?
- 23. 空の新しいVCLフォームアプリケーションでは、どの4つのスレッドが実行されていますか?
- 24. スレッドは実行されません
- 25. Java:クラスが完全に2番目のスレッドで実行されている/ IllegalMonitorStateException
- 26. ContentProvider insert()は常にUIスレッドで実行されますか?
- 27. チェーンコードはどこで実行されていますか?
- 28. sendOrderedBroadcast - どのスレッドがレスポンスレシーバを実行していますか?
- 29. Javaでは、各スレッドが1つのコアで専用に実行されるようにスレッドを作成するにはどうすればよいですか?
- 30. スレッドがループ内でどのように実行されるか
ありがとうございました。私は、スレッドのCPU使用量をもっと気にする必要があることを理解しています。これは好奇心から尋ねた単なる質問でした:) –