マルチコア システムでは System.nanoTime() にまだ欠陥がありますか?
ブログ投稿「System.nanoTime() に注意してください」 Java" は、x86 アーキテクチャでの System.nanoTime() の信頼性について懸念を提起しました。この場合、System.nanoTime() が使用する CPU 固有のカウンターは、非同期カウンターを使用した異なるプロセッサ間でのスレッド スケジューリングにより、負の時間測定につながる可能性があります。
しかし、 Sun のエンジニア (現 Oracle) からの 2011 年の回答では、この問題は Windows XP Service Pack 2 で解決され、最新の Windows および Linux システムでは問題ではなくなっていることが明らかにされました。
Windows:
Linux:
その他のプラットフォーム:
提供された応答は SPARC または Solaris システムに対応していません。ただし、これらのプラットフォームにも、複数のプロセッサ間で一貫した時刻管理を保証するための同様のメカニズムが実装されていると考えるのが合理的です。
この情報は 2011 年の時点で正確であることに注意することが重要です。 System.nanoTime() の実装と動作については、最新のドキュメントとコミュニティのディスカッションを参照してください。
以上がSystem.nanoTime() は最新のマルチコア システム上で本当に信頼できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。