Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 什么';NET中最精确的计时器是什么?_C#_.net_Timer_Timing_Time Precision - Fatal编程技术网

C# 什么';NET中最精确的计时器是什么?

C# 什么';NET中最精确的计时器是什么?,c#,.net,timer,timing,time-precision,C#,.net,Timer,Timing,Time Precision,我想使用一个计时器,允许我在特定的时间间隔运行特定的代码,但Winforms计时器非常不准确。我把它设为2秒,但它却响了48秒。我正在运行的代码高度依赖于尽快执行,因此48秒太晚了,无法执行任何操作 另外,我不希望计时器占用大量CPU周期,因为我正在运行的代码非常简单。使用。由于它是为多线程环境设计的,因此比计时器控件更精确。使用。因为它是为多线程环境设计的,所以比计时器控件更精确。检查一下,而且比较非常深入和完整 顺便说一句,最精确的计时器是秒表,它用于计算代码执行时间和其他类似的东西,Vis

我想使用一个计时器,允许我在特定的时间间隔运行特定的代码,但Winforms计时器非常不准确。我把它设为2秒,但它却响了48秒。我正在运行的代码高度依赖于尽快执行,因此48秒太晚了,无法执行任何操作

另外,我不希望计时器占用大量CPU周期,因为我正在运行的代码非常简单。

使用。由于它是为多线程环境设计的,因此比计时器控件更精确。

使用。因为它是为多线程环境设计的,所以比计时器控件更精确。

检查一下,而且比较非常深入和完整

顺便说一句,最精确的计时器是秒表,它用于计算代码执行时间和其他类似的东西,Visual Studio使用它来计算代码的性能,因此很清楚它应该有多精确。但在你的情况下,你不能利用它。我提到了秒表,供你和其他将来可能看到这篇文章的人参考。

也要检查一下,而且比较非常深入和完整


顺便说一句,最精确的计时器是秒表,它用于计算代码执行时间和其他类似的东西,Visual Studio使用它来计算代码的性能,因此很清楚它应该有多精确。但在你的情况下,你不能利用它。我提到了秒表,以供你和其他将来可能看到这篇文章的人参考。

嗯,如果它响得太晚了46秒,就有问题了。。例如错误地阻塞UI线程。WinForms计时器在创建它的相应UI线程上调度(通常每个“本机”窗口有一个)。如果你想让它围绕一个阻塞线程启动,那么你需要引入一个不同的线程,或者使用一个使用不同线程(没有被阻塞)的计时器。谢谢,我基本上使用的是一个调用Monitor方法的BackgroundWorker。计时器正在调用RunWorkerAsync。这不好吗?BGW.RunWorkerAsync不应该阻止。在计时器回调中是否有任何阻塞代码,例如等待BGW完成?我不这么认为,我只使用HtmlAgilityPack解析链接,但它们只有3页。我与计时器进行了大量工作,计时器的最大容差小于每周期50毫秒。46秒是不能接受的!呃,如果它晚了46秒,有点可疑。。例如错误地阻塞UI线程。WinForms计时器在创建它的相应UI线程上调度(通常每个“本机”窗口有一个)。如果你想让它围绕一个阻塞线程启动,那么你需要引入一个不同的线程,或者使用一个使用不同线程(没有被阻塞)的计时器。谢谢,我基本上使用的是一个调用Monitor方法的BackgroundWorker。计时器正在调用RunWorkerAsync。这不好吗?BGW.RunWorkerAsync不应该阻止。在计时器回调中是否有任何阻塞代码,例如等待BGW完成?我不这么认为,我只使用HtmlAgilityPack解析链接,但它们只有3页。我与计时器进行了大量工作,计时器的最大容差小于每周期50毫秒。46秒是不能接受的!谢谢,是的,秒表没有滴答声:(谢谢,是的,秒表没有滴答声:(