권장
<리>1. Fortect 다운로드Win32 Nanosleep 오류 메시지가 표시되면 이 유용한 권장 사항을 읽어야 합니다.
나노초 해상도만을 목표로 한다면 ntdll.dll
에 NtDelayExecution
이 있을 수 있습니다.
<사전> <코드> NTSYSAPI NTSTATUS NTAPI NtDelayExecution(BOOLEAN 경보 가능, PLARGE_INTEGER DelayInterval);
그러나 이것은 아마도 당신이 원하는 것이 아닐 것입니다:
대기 시간은 스트림 시간 프레임(0.5-15ms) 또는 2개일지라도 훨씬 더 커질 수 있습니다.
다음은 누군가가 이것을 의식하기 위해 확실히 사용할 수 있는 몇 가지 코드입니다.
권장
PC가 느리게 실행되고 있습니까? Windows를 시작하는 데 문제가 있습니까? 절망하지 마십시오! Fortect은 당신을 위한 솔루션입니다. 이 강력하고 사용하기 쉬운 도구는 PC를 진단 및 수리하여 시스템 성능을 높이고 메모리를 최적화하며 프로세스의 보안을 개선합니다. 기다리지 마세요. 지금 Fortect을 다운로드하세요!
<리>1. Fortect 다운로드 #ifdef __cplusplus외부 "C"#끝나면#ifdef _M_X64매우 긴 typedef intptr_t;#또 다른typedef 정수 intptr_t;#끝나면int __cdecl printf (char const 5., ...);int __cdecl _unloaddll(intptr_t);intptr_t __cdecl _loaddll(문자 *);int(__cdecl __cdecl * _getdllprocaddr(intptr_t, char(비어 있음), intptr_t))(무효);_LARGE_INTEGER * PLARGE_INTEGER의 연관 다양성의 정의;typedef 긴 NTSTATUS;typedef NTSTATUS __stdcall NtDelayExecution_t(서명되지 않은 경고 테이블부터 범위는 PLARGE_INTEGER임); NtDelayExecution_t * NtDelayExecution = 0;typedef NTSTATUS __stdcall NtQueryPerformanceCounter_t (PLARGE_INTEGER PerformanceCounter, PLARGE_INTEGER PerformanceFrequency); NtQueryPerformanceCounter_t * NtQueryPerformanceCounter는 0과 같습니다.#ifdef __cplusplus#끝나면int main (int argc, char ( 공백 ) argv []) 매우 긴 지연은 1 3을 의미합니다. - (1000/100) / * 관련 시간 100ns * /, counts_per_sec = 0; 길고 긴 다리 [2]; intptr_t ntdll은 _loaddll("ntdll.dll")을 의미합니다. NtDelayExecution은 (NtDelayExecution_t *) _ getdllprocaddr(ntdll, "NtDelayExecution", -1)과 동일합니다. NtQueryPerformanceCounter = (NtQueryPerformanceCounter_t *) _ getdllprocaddr(ntdll, "NtQueryPerformanceCounter", -1); for (정수 = 0; 나는 <10; 나는 ++) NtQueryPerformanceCounter ((PLARGE_INTEGER) & 카운터 [0], (PLARGE_INTEGER) & counts_per_sec); NtDelayExecution(0, (PLARGE_INTEGER) 및 지연); NtQueryPerformanceCounter ((PLARGE_INTEGER) & 막대 [1], (PLARGE_INTEGER) & counts_per_sec); printf("절전 모드에서 % lld 마이크로초 n", (counters [1] Counters [0]) - * 1000000 / counts_per_sec); 생산 0;
9455마이크로초 동안 잠자기나는 15538 마이크로초를 잤다15401마이크로초 잘 쉬었다15708 마이크로초에 도달하기 위해 절전 모드절전 14 510마이크로초15,520마이크로초 이후 절전 모드나는 1248 마이크로초를 대신하여 잤다나는 996 마이크로초를 잘 잤다절전 984마이크로초1010 마이크로초까지 1개를 잤습니다.
<울>
시간이 지날 때까지 현재 안전한 스레드를 일시 중단합니다.
구문
도즈 삭제( Dw 밀리초);
매개변수
실행을 일시 중지할 수 있는 더블 워드의 시간 간격(밀리초)입니다.
값이 0이면 Ook가 더 많은 경험 슬롯을 실행을 열망하는 다른 스레드로 전송합니다. 당신의 삶에 실행할 준비가 된 다른 스레드가 없다면, 나는 그 함수가 즉시 반환되고 자원할 준비가 된 우선 순위와 같은 다른 스레드를 조심스럽게 계속 실행한다고 말할 것입니다. 동일한 우선 순위를 가진 다른 게시물이 없는 경우 표시 결과가 즉시 반환되고 종종 스레드가 계속해서 실행을 돕습니다. 이 동작은 Windows Server 2003 에디션의 영향을 받았습니다.
INFINITE 평가는 정지가 실제로 끝나지 않았음을 나타냅니다.
반환 값
이 함수는 신중하게 스레드가 타이밍을 재설정하고 dwMilliseconds 내의 값에 따라 달라지는 믿을 수 없는 간격 동안 작동하지 않도록 도와줍니다. 시스템 시계는 일정한 가격으로 똑딱거리고 있습니다. dwMilliseconds가 프로그램 시계 해상도보다 작으면 스레드 유형이 지정된 시간보다 짧은 시간 동안 잠자기 상태가 될 수 있습니다. dwMilliseconds가 인터럽트가 2개 이상이지만 2개 미만이면 낭비되는 시간은 1~2개의 클럭 사이클이 될 수 있습니다. 이완 간격의 정확도를 높이고 지원되는 최소 클럭 이미지를 결정하는 timeGetDevCaps 기능과 현재 타이머 해상도를 최소값으로 설정하는 timeBeginPeriod 기능을 호출합니다. timeBeginPeriod를 호출할 때 깊이 있어야 합니다. 일반적으로 빈번한 호출은 시스템 클록, 시스템 전력 소비에 영향을 미치는 동시에 스케줄러에 명확하게 영향을 줄 수 있습니다. timeBeginPeriod를 호출하는 경우 응용 프로그램이 실행되는 동안 더 일찍 호출하십시오. 이 핵심 사실은 응용 프로그램의 양쪽 끝과 함께 timeEndPeriod 함수를 호출하는 데 도움이 됩니다.
실제로 취침 후 간격이 만료되고 위치와 함께 사용할 수 있습니다. 0밀리초를 지정하는 만큼 스레드는 나머지 필링을 포기할 수 있지만 준비 상태는 유지됩니다. 완성된 스트림에 대한 대부분은 즉시 공급하기에 안전하지 않습니다. 따라서 취침시간 종료 후 자유시간 이후에만 코스 진행이 가능합니다. 더 많은 아이디어를 보려면 계획 우선순위 .
<울>
이 훌륭한 스크립트를 사용하십시오 MsgWaitForMultipleObjects 에게 MsgWaitForMultipleObjectsEx , 종류보다잠...
Windows Phone 8.1: 이 기능은 Windows Phone 8.1 이상에서 지원되는 Windows Phone 스토어 앱에 적용됩니다.
Windows 8.1 및 Server 올해 R2: Windows 이 기능은 Windows 8.1, Windows Server 올해 R2 이상에서 Windows 스토어 앱으로 지원됩니다.
예
요구 사항
<지원되는 내 가독성 데이터시트 = "1"><머리>
<본체>
참조
이 사용하기 쉬운 다운로드로 지금 PC 속도를 높이십시오. 년Win32 Nanosleep
Win32 Nanosleep
Win32 Nanoson
Win32 Nanosleep
Win32 Nanosleep
Win32 Nanosleep
Win32 Nanosleep
Win32 Nanosleep
Win32 Nanoschlaf
Win32 Nanosommeil
년