Rumah > Java > javaTutorial > teks badan

Adakah System.nanoTime() Benar-benar Boleh Dipercayai pada Sistem Berbilang Teras Moden?

Susan Sarandon
Lepaskan: 2024-11-17 19:06:02
asal
933 orang telah melayarinya

Is System.nanoTime() Truly Reliable on Modern Multi-Core Systems?

Adakah System.nanoTime() Masih Cacat pada Sistem Berbilang Teras?

Catatan blog "Berhati-hati dengan System.nanoTime() dalam Java" menimbulkan kebimbangan tentang kebolehpercayaan System.nanoTime() pada seni bina x86, di mana kaunter khusus CPU yang digunakannya boleh membawa kepada pengukuran masa negatif disebabkan penjadualan benang merentas pemproses yang berbeza dengan pembilang tak segerak.

Walau bagaimanapun, respons 2011 daripada jurutera Sun (kini Oracle) menjelaskan bahawa isu ini telah ditangani dalam Pek Perkhidmatan Windows XP 2 dan tidak lagi kebimbangan mengenai Windows dan Linux moden sistem.

Windows:

  • Pelaksanaan lalai QueryPerformanceCounter, yang digunakan oleh System.nanoTime(), telah ditukar untuk menggunakan pemasa pengurusan kuasa (PMTimer ), yang disegerakkan merentas pemproses pada SMP sistem.

Linux:

  • Sehingga versi kernel 2.6.18, logik sistem untuk mengesan sumber masa tak segerak telah dipertingkatkan.
  • Sumber masa yang tidak boleh dipercayai biasanya dikesan dan sandaran kepada sumber jam yang lebih dipercayai adalah bekerja.

Platform Lain:

Respons yang diberikan tidak menangani sistem SPARC atau Solaris. Walau bagaimanapun, adalah munasabah untuk mengandaikan bahawa platform ini juga telah melaksanakan mekanisme yang serupa untuk memastikan ketepatan masa merentasi berbilang pemproses.

Adalah penting untuk ambil perhatian bahawa maklumat ini adalah tepat pada tahun 2011. Untuk kemas kini terkini mengenai pelaksanaan dan tingkah laku System.nanoTime(), sila rujuk dokumentasi terkini dan perbincangan komuniti.

Atas ialah kandungan terperinci Adakah System.nanoTime() Benar-benar Boleh Dipercayai pada Sistem Berbilang Teras Moden?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan