System.nanoTime() 在多核心系統上仍有缺陷嗎?
部落格文章「謹防System.nanoTime() Java」引發了對x86 架構上System.nanoTime() 可靠性的擔憂,其中它使用的特定於CPU 的計數器可能會因為使用非同步計數器跨不同處理器進行執行緒調度而導致負時間測量。
但是, Sun 工程師(現為 Oracle)在 2011 年的回覆中澄清,此問題已在 Windows XP Service Pack 2 中解決,並且在現代 Windows 和 Linux 系統上不再是一個問題。
Windows:
Linux:
其他平台:
提供的回應不涉及 SPARC 或 Solaris 系統。然而,可以合理地假設這些平台也實現了類似的機制來確保跨多個處理器的一致計時。
值得注意的是,截至 2011 年,此資訊是準確的。有關System.nanoTime() 的實作和行為,請參閱最新文件和社群討論。
以上是System.nanoTime() 在現代多核心系統上真的可靠嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!