更简单的C#代码引入1毫秒延迟?

时间:2010-08-09 12:50:04

标签: c#

我没有使用Thread所以不能使用thread.sleep()方法..我的程序的一部分,我需要引入一些延迟..不完全是1毫秒但几乎是..

这是已知的标准方法??

5 个答案:

答案 0 :(得分:9)

您一直在使用线程。每个应用程序至少有一个线程,因此Thread.Sleep可以正常工作。

答案 1 :(得分:5)

  

我没有使用Thread,所以不能使用thread.sleep()方法

不确定您是否这样说 - 您可以在任何地方使用Thread.Sleep

答案 2 :(得分:3)

你知道,1毫秒的睡眠不能保证正好是1毫秒,事实上由于它是如此短的时间,这是非常不可能的。 thread.sleep(x)将x表示为最小睡眠时间,如果您想要更精确的睡眠,可能需要查看win32多媒体计时器:http://msdn.microsoft.com/en-us/library/dd742877.aspx

答案 3 :(得分:1)

不要睡1毫秒。它根本不准确。请阅读this articlethis

Thread.sleep将始终挂起当前线程。请记住,在GUI线程上使用Sleep并不是一个好主意(如果您的应用是winform应用程序)。

答案 4 :(得分:0)

如果您只是想提供线程切换的机会,请使用Thread.Sleep(0)。 (这相当于Java中的Thread.Yield()。)

编辑:实际上他们似乎已经在.NET 4中添加了Thread.Yield()