1
1
尝试使用秒表对象。我创建了一个假设的数据和时间对象
其中TimeInMillises是要处理数据列表的精确间隔(毫秒)。然后我创建了两个对象,一个堆栈和一个秒表:
您可以使用集合或列表,而不是堆栈或其他。我用100个数据和时间对象填充堆栈:
这个想法与停止和启动秒表的物理模拟是一样的,直到经过毫秒的相关时间后才做一些事情。瞧。总共约40行代码:
|
2
2
在多任务操作系统中,提高进程的优先级是有帮助的,但是除非您的操作系统支持它。 real time 你不能用几毫秒的精度来保证时间。 |
3
1
用这个怎么样
|
4
0
如果您确实需要在时间上保持短时间的差异,那么您可能需要考虑使用DirectX API。Directx9.0c有一个托管的.NET接口,它允许您访问高可靠性时钟。我用这个播放了一些音乐,在那里我只有不到1毫秒的时间来开始和停止音乐,这个效果很好。 但是,应用程序将接管计算机,因为共享会中断您的计时,那么您也可以使用计时器。 |
5
0
最可靠的方法是在 准确的 你想要的时间,将被封锁到准确的时间。在伪代码中:
当然,只要你在while循环中,这会占用CPU。 或者你可以走到一半,做一个线程睡眠,直到你在目标时间的50毫秒以上,然后再做一个阻塞等待。你不会占用那么多的CPU,你可以合理地确定你的线程会在1秒到达之前被激活。 This article 对Windows API提供的计时功能进行了非常全面的评估。最后得出结论:
|
Emopusta · 从后端到前端的图像路径不工作 2 年前 |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
Niyazi Babayev · 如何在表达式中动态应用表达式? 2 年前 |
Dansih · .Net核心自定义身份验证方案 2 年前 |
lolorekkk · 面板插入。NET WinForm 2 年前 |