在Windows环境中是否仍然可以睡眠~1微秒?在研究和阅读了许多线程和各种网站之后,我一直无法看到这是可能的。由于调度程序似乎是限制因素并且它运行 在1毫秒级别,我相信如果不去实时操作系统就无法完成。
答案 0 :(得分:1)
它可能不是最便携的,我自己也没有使用过这些功能,但可以使用此链接的高分辨率计时器部分中的信息并阻止:QueryPerformanceCounter
答案 1 :(得分:1)
尽管声称窗口不是“实时”操作系统,但事件可以以微秒分辨率生成。系统时间(file_time)和性能计数器频率的组合的使用已在其他places中描述。但是,小心 通过关注处理器关联性和进程/线程优先级的实现打开了微秒分辨率的定时事件的大门。
由于Windows调度程序和Windows计时器服务确实依赖于系统中断 机制,微秒只能通过轮询来调整。特别是在多核系统上 民意调查不再那么难看了。而民意调查必须尽可能短 中断期。多媒体定时器接口允许将中断周期降至 大约1ms,因此可以接近所需的(微秒分辨率)时间,并且轮询将最多持续1ms。
我可以在以下位置找到我对窗口,测试代码和广泛描述的微秒解决时间服务的实现 Windows时间戳项目位于windowstimestamp.com