如何使C#程序睡眠50毫秒?

时间:2020-03-06 14:20:28  来源:igfitidea点击:

如何使我的Cprogram睡眠50毫秒?

这似乎是一个简单的问题,但是我暂时出现脑衰竭!

解决方案

Thread.Sleep

System.Threading.Thread.Sleep(50);

但是请记住,在主GUI线程中执行此操作将阻止GUI更新(感觉"缓慢")。

只需删除;使其也适用于VB.net。

使用此代码

using System.Threading;
// ...
Thread.Sleep(50);

Thread.Sleep(50);

线程将不会在指定的时间内调度为由操作系统执行。此方法将线程的状态更改为包括WaitSleepJoin。

此方法不执行标准COM和SendMessage泵送。
如果我们需要在具有STAThreadAttribute的线程上休眠,但是要执行标准COM和SendMessage泵送,请考虑使用指定超时间隔的Join方法的重载之一。

Thread.Join

我们无法在Windows中指定确切的睡眠时间。为此,我们需要一个实时操作系统。我们能做的最好的就是指定最短的睡眠时间。然后由调度程序在那之后唤醒线程。永远不要在GUI线程上调用.Sleep()