System.nanoTime(): 本当に役に立たないのでしょうか?
System.nanoTime() に関して提起された懸念は、次のような認識から生じています。マルチコア システムでは、CPU 固有のタイム カウンタの変動により、時間測定により予期しない結果が生じる可能性があります。より低いカウンタを持つ別のプロセッサにスケジュールされたスレッドは、消費時間を計算する際に負の時間差が生じる可能性があると理論づけられています。
カウンタの不一致への対処
ただし、前提に反して、System.nanoTime() はプロセッサ間の一貫性を保証します。最新のオペレーティング システムとハードウェア抽象化 (HAL など) は、元の投稿で提起された問題に対処しています。
Windows:
Windows システムでは、Sun の新しいバージョンJDK (2011 より前) は、TSC ではなく Windows の QueryPerformanceCounter を使用します。 QueryPerformanceCounter はプロセッサ間での同期時間を保証し、カウンタの不一致の懸念を排除します。
Linux:
Linux カーネル 2.6.18 以降では、非同期のタイムベースを検出してフォールバックすることでこの問題に対処しています。信頼性の高いクロックソース。この安全策により、複数のプロセッサ間で一貫した時刻の維持が保証されます。
その他のプラットフォーム:
他のプラットフォーム (SPARC など) での System.nanoTime() の動作に関する情報は限られています。 、Solaris、IBM JVM)。ただし、最新のオペレーティング システムと JVM は時間の一貫性を維持するために同様の保護を実装していると考えるのが合理的です。
結論:
最初に提起された懸念は次のとおりであった可能性があります。特定の歴史的文脈では有効ですが、System.nanoTime() は廃止されません。最新のオペレーティング システムと JVM には、複数のプロセッサ間で信頼性の高い時間測定を保証するための保護手段が実装されています。したがって、System.nanoTime() は、Java アプリケーションで経過時間を測定するための貴重なツールであり続けます。
以上がSystem.nanoTime() は最新のマルチコア システムにまだ関連していますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 中国語版
中国語版、とても使いやすい

Dreamweaver Mac版
ビジュアル Web 開発ツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。
