gpt4 book ai didi

c# - Windows 上可靠的短时间跨度测量

转载 作者:可可西里 更新时间:2023-11-01 14:35:45 25 4
gpt4 key购买 nike

我需要能够准确提供 10 毫秒“Ticks”的代码,鉴于许多文章与其他文章就如何在 Windows 中实现这一点相互矛盾,我感到很困惑。

我已经完成了第一步 - 使用多媒体计时器提供 1 英里的 sleep 时间。

有没有办法确保 sleep 代码在所有机器上都有效 IsHighResolution 是真还是假,单处理器系统还是多处理器系统等?

[编辑]之前的一个问题讨论了在多核系统中使用 StopWatch 的问题: Multicore and thread aware .Net stopwatch?[/编辑]

最佳答案

抱歉,我不能在评论中写这个...如果你有可能使用第二个线程,你可以使用循环来浪费时间...像这样:

    class yourTimer{ 
public void startTimer(Action a)
{
ParameterizedThreadStart fu = new ParameterizedThreadStart(waiter);
Thread t1 = new Thread(fu);
t1.Start(a);
}
public void stopTimer()
private void waiter(object o)
{
Action ac = (Action)o;
while(waitin)
{
if(DateTime.Now.Millisecond%10==0)
{
ac.Invoke();
}
continue;
}
}
}

但我认为这是一个非常丑陋的解决方案......

关于c# - Windows 上可靠的短时间跨度测量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29741808/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com