Precise thread sleep needed. Max 1ms error(需要精确的线程睡眠.最大 1ms 误差)
问题描述
我有运行循环的线程.我需要该循环每 5 毫秒运行一次(1 毫秒错误).我知道 Sleep() 函数不精确.
您有什么建议吗?
更新.我不能以其他方式做到这一点.在循环结束时,我需要某种睡眠.我也不想 100% 加载 CPU.
从问题标签来看,我猜你是在 Windows 上.看看多媒体计时器,他们宣传精度低于 1 毫秒.另一种选择是使用 Spin Locks 但这基本上会使 CPU 核心保持最大使用率.>
I have thread that runs loop. I need that loop to be run once every 5ms (1ms error). I know that Sleep() function is not precise.
Do you have any suggestions?
Update. I can't do it other way. At the end of loop I need some kind of Sleep. I don't want to have 100% CPU loaded either.
From the question tags I suppose you are on windows. Take a look at Multimedia Timers, they advertise precision under 1ms. Another options is to use Spin Locks but this will basically keep a cpu core at maximum usage.
这篇关于需要精确的线程睡眠.最大 1ms 误差的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:需要精确的线程睡眠.最大 1ms 误差
基础教程推荐
- C++:获取传递给函数的多维数组的行大小 2021-01-01
- 如何在 C++ 中正确使用命名空间? 2022-01-01
- 与 CAS 的原子交换(使用 gcc 同步内置函数) 2022-01-01
- 提升 ASIO 流缓冲 2021-01-01
- 随机插入/删除的综合向量与链表基准 2022-01-01
- 如何部分禁用 cmake C/C++ 自定义编译器检查 2021-01-01
- 为什么我们不能使用“虚拟继承"?在 COM 中? 2022-01-01
- 将不可复制的闭包对象传递给 std::function 参数 2021-01-01
- c++ STL设置差异 2022-01-01
- 如何更改 SysDateTimePick32 或 CDateTimeCtrl 的背景颜色? 2022-01-01
