Java의 System.nanoTime()은 정말 쓸모가 없나요?
질문:
A "Java의 System.nanoTime()에 주의하세요"라는 제목의 블로그 게시물은 다음과 같은 우려를 제기합니다. x86 시스템에서는 CPU별 카운터 사용으로 인해 System.nanoTime()이 잘못된 시간 값을 반환할 가능성이 있습니다. 멀티 코어 시스템에서 스레드 예약으로 인해 더 낮은 카운터의 프로세서가 할당되어 시간 차이가 음수 값이 될 수 있습니다.
답변:
블로그 게시물의 주장은 2011년에 작성되었으므로 더 이상 정확하지 않습니다. 후속 운영 체제 업데이트로 Windows 및 Linux에서 이러한 문제가 해결되었습니다.
Windows:
Windows XP 서비스 팩 2 이상에서 System.nanoTime()은 QueryPerformanceCounter를 사용합니다. /QueryPerformanceFrequency API는 HAL(하드웨어 추상화 계층)에 의해 구현되어 전체에서 일관된 시간 소스를 제공합니다.
Linux:
Linux clock_gettime(CLOCK_REALTIME) 함수는 모든 프로세서에서 시간이 일관되도록 보장합니다. 커널 버전 2.6.18부터 동기화되지 않거나 가변 주파수 타임스탬프 카운터가 감지되면 안전한 클럭 소스가 사용됩니다.
기타 아키텍처:
정보가 제한되어 있습니다. SPARC 및 Solaris와 같은 다른 아키텍처에 대해 사용할 수 있습니다. 그러나 일반적으로 최신 가상 머신(VM)은 기본 하드웨어에 관계없이 게스트 운영 체제에 일관된 시간 소스를 제공한다고 가정합니다.
결론:
시스템 .nanoTime()은 Java에서 시간 차이를 측정하는 유효한 방법으로 남아 있습니다. 2011년 블로그 게시물에서 제기된 문제는 해결되었으며 최신 시스템 구현에는 적용되지 않습니다.
위 내용은 Java의 System.nanoTime()은 여전히 신뢰할 수 있는 시간 측정 도구입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

WebStorm Mac 버전
유용한 JavaScript 개발 도구

Dreamweaver Mac版
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)
