C++ Windows下使用Sleep(0)睡眠约1~2微妙

原创 2018年04月17日 07:20:43

测试:

#include<iostream>
#include<Windows.h>

void main()
{
	LARGE_INTEGER cpuFreq;
	LARGE_INTEGER startTime;
	LARGE_INTEGER endTime;
	double runTime = 0;
	QueryPerformanceFrequency(&cpuFreq);
	QueryPerformanceCounter(&startTime);
	Sleep(0);
	QueryPerformanceCounter(&endTime);
	runTime = (((endTime.QuadPart - startTime.QuadPart) * 1000000.0) / cpuFreq.QuadPart);
	cout << runTime << " μs" << endl;
	system("pause");
}

显示微妙级方法修改自https://www.cnblogs.com/chensheng-zhou/p/6323174.html

VC实现微秒(十万分之一秒)休眠

 VC自带的SDK中为我们提供了一个Sleep函数,此函数的最小单位为毫秒(既千分之一秒);但在实际的应该中(特别是网络数据传输)我们需要更小的休眠单位(微秒),而系统又没有提供相关API,那么我们如...
  • King_hhuang
  • King_hhuang
  • 2011-04-28 22:17:00
  • 1092

c/c++中sleep()函数毫秒级的实现

最近看到好多人在问,c/c++中的sleep函数是秒级的,能不能实现毫秒级的呢?当然很简单,我的写法如下 #include #include static void sl...
  • guo_hongjun1611
  • guo_hongjun1611
  • 2014-11-04 11:11:51
  • 9184

C++ Sleep Function 用法 Sleep(-1)

//============================================================================ // Name : Test...
  • greenapple_shan
  • greenapple_shan
  • 2014-10-10 17:38:28
  • 1888

WIN32--线程睡眠

目的: 有时候我们想让线程不被调度一定的时间,也就是说让线程睡眠一段时间。 API 接口: 在 Win32中可以调用 Sleep,SleepEx 和 SwitchToThread 三...
  • XJF199001
  • XJF199001
  • 2016-05-20 11:05:04
  • 606

VC中,高精度休眠函数

在VC中Sleep的等待时间精度不准,可以用如下方法: 用WaitForSingleObject来做定时让某段代码执行的,于是试了试,一试之下立即发现效果明显,CPU占用率一下子回到了个位数。更改后的...
  • chinabinlang
  • chinabinlang
  • 2015-08-11 17:57:05
  • 1134

Windows微秒级定时方法

在做硬件相关的程序时,需要大量的数据传输,当数据发送量大于设备接口接收量时会造成字节bit位覆盖的问题(比如单根串口线每次发送或者接收一个bit如果发送速度大于接收速度会造成前一个bit位被下一个bi...
  • a29562268
  • a29562268
  • 2017-04-03 01:08:06
  • 1089

Sleep(0)与Sleep(1)的区别

 目的: 有时候我们想让线程不被调度一定的时间,也就是说让线程睡眠一段时间。 API 接口: 在 Win32中可以调用 Sleep,SleepEx 和 SwitchToThread 三...
  • xie1xiao1jun
  • xie1xiao1jun
  • 2014-11-10 18:06:11
  • 2596

Windows内核编程基础篇之在线程中睡眠

我们在C语言中 包含头文件: Windows.h。就能调用函数sleep() 是程序停下一段时间。在驱动中也可以睡眠,用到的函数原型如下: NTSTATUS KeDelayExecutionThre...
  • HK_5788
  • HK_5788
  • 2015-09-04 13:48:21
  • 1344

c++11线程sleep

std::this_thread名字空间 在前面的例子中,还用到了一个this_thread::get_id()函数用以获取当前线程的tid,std::this_thread名字空间提供了如下函...
  • xyblog
  • xyblog
  • 2016-01-11 09:39:13
  • 6116

windows开发,如何使Sleep函数精确到1毫秒

1.我们知道,Sleep函数和GetTickCount函数,时间精度只有16ms左右, 而不是1ms。这样的话对于某些对时间要求比较高的应用场景,就不能 直接这么用了。 2.我介绍一个好方法,使用ti...
  • yuhengyue
  • yuhengyue
  • 2017-09-27 14:06:23
  • 768
收藏助手
不良信息举报
您举报文章:C++ Windows下使用Sleep(0)睡眠约1~2微妙
举报原因:
原因补充:

(最多只允许输入30个字)