0

我正在将部分固件移植到用 c# 编写的 gui。我发现

nop()

是一个实际上什么都不做并将执行延迟一些时钟周期的函数。

假设我使用nop () 它将延迟固件中的执行两毫秒。如何在 c# 中延迟事情?

提前致谢,

4

4 回答 4

4

System.Threading.Thread.Sleep(milliseconds);

请注意,阻塞 GUI 的主线程超过几毫秒通常是个坏主意。最好使用在几毫秒后唤醒的计时器,以允许在此期间进行事件处理。此外,如果您想在执行某些 I/O 之前暂停,请考虑改用异步 I/O。

另请注意,Windows 或 .NET 都不提供任何实时保证。调用Thread.Sleep(2)将暂停至少 2 毫秒,但该线程可能不会在此之后的许多毫秒内恢复执行。

于 2011-07-05T15:34:50.217 回答
2
Thread.Sleep(1000);

将当前执行休眠 1 秒。

于 2011-07-05T15:35:05.380 回答
0

线程.睡眠。

例如:Thread.Sleep(2);

但是请注意,Windows 的最小分辨率约为 15 毫秒,因此您可能不会得到 2 毫秒。有关详细信息,请参阅C# 中 Thread.Sleep(1) 的影响是什么?

于 2011-07-05T15:34:56.847 回答
0

会违背规律说,如果你需要严格的时间安排,Thread.Sleep 不是一个好主意

我建议使用带System.Timers计时器的手动/自动重置事件。

于 2011-07-05T15:40:25.487 回答