作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在制作连接到计算机的简单频闪仪。我有这样的循环:
double SleepTime = 1000 / Hz;
while ()
{
BlinkAll();
Thread.Sleep((int)SleepTime);
}
但这是非常不准确的。如果赫兹 = 666比 sleep 时间 = 1.5和(int) sleep 时间 = 1
这意味着在输出时我得到的是 1000Hz 而不是 666Hz 这是很大的差异。
如何解决这个问题?
附言
这个例子还是不够准确。它更好,但无论如何都不好:
double SleepTime = 1000 / Hz;
Thread.Sleep((int)SleepTime + 0.5)
最佳答案
看看NtDelayExecution (ntdll.dll) ...它似乎具有更好的粒度(单位为 100 纳秒而不是 1 毫秒),尽管我不确定这会有多大帮助,因为我认为 Windows 上的线程每个需要几毫秒的时间片。
关于C# 频闪仪,Thread.Sleep,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4636518/
我是一名优秀的程序员,十分优秀!