Javaネイティブスレッドを使用して、スレッドが実行されているプロセッサ(単一システムまたは複数システムのいずれか)を確認する方法はありますか?そうでない場合、役立つライブラリはありますか?
3102 次
4 に答える
2
JVM のスレッド スケジューラは JVM 固有であるため、「普遍的な」ソリューションはありません。私の知る限り、すぐに使用できるものはありませんが、おそらく次を使用します。
- Sun JVM;
- Solaris - または Tom Hawtinのように Mac - のタックラインが指摘しています。
- DTrace .
あなたは運がいいかもしれません:
- 「ネイティブ/OS スレッド ID。これは、ホスト オペレーティング システムによって割り当てられた ID です
thread-start
」args[3]
- Solaris 固有のユーティリティを使用して、ネイティブ/OS スレッド ID を CPU にマップします。
于 2009-06-10T08:30:55.047 に答える
0
このような呼び出しは聞いたことがありません。実際には必要ではなく、プラットフォーム固有の追加のコードが必要になるため、この呼び出しがあるかどうかは非常に疑わしいです。
于 2009-06-10T08:25:05.247 に答える
0
OS は、異なる時間に異なるプロセッサでスレッドをスケジュールします。そのため、特定の瞬間に各スレッドが実行されている場所のスナップショットを取得したとしても、ミリ秒以内に古くなる可能性があります。
あなたが解決しようとしている問題は何ですか?おそらく、これを知らなくてもやりたいことをすることができます。
于 2009-06-12T02:56:06.800 に答える