如何让当前程序等待一段时间?

时间:2021-01-01 15:25:35
如何让当前程序等待一段时间?之前的作法是在需要等待的地方加一段循环,C#应该有更简单的办法,希望是直接引用到当前的程序进程对象,然后该对象有一个方法,好比Wait等方法,可以设置一个等待时间,请问如何解决该问题?

4 个解决方案

#1


System.Threading.Thread.Sleep(2000);

#2


Monitor.Wait 方法  [C#]请参见
Monitor 类 | Monitor 成员 | System.Threading 命名空间 | C++ 托管扩展编程 
语言
C#

C++

JScript

Visual Basic

全部显示
释放对象上的锁并阻塞当前线程,直到它重新获取该锁。

重载列表
释放对象上的锁并阻塞当前线程,直到它重新获取该锁。

[Visual Basic] Overloads Public Shared Function Wait(Object) As Boolean
[C#] public static bool Wait(object);
[C++] public: static bool Wait(Object*);
[JScript] public static function Wait(Object) : Boolean;
释放对象的锁并阻塞当前线程,直到它重新获取锁或经过了指定的时间量。

[Visual Basic] Overloads Public Shared Function Wait(Object, Integer) As Boolean
[C#] public static bool Wait(object, int);
[C++] public: static bool Wait(Object*, int);
[JScript] public static function Wait(Object, int) : Boolean;
释放对象的锁并阻塞当前线程,直到它重新获取锁或经过了指定的时间量。

[Visual Basic] Overloads Public Shared Function Wait(Object, TimeSpan) As Boolean
[C#] public static bool Wait(object, TimeSpan);
[C++] public: static bool Wait(Object*, TimeSpan);
[JScript] public static function Wait(Object, TimeSpan) : Boolean;
等待来自调用 Pulse 或 PulseAll 方法的对象的通知或等待指定的计时器结束。此方法还指定是否在等待之前退出上下文的同步域(如果处于同步上下文中的话)然后重新获取该同步域。

[Visual Basic] Overloads Public Shared Function Wait(Object, Integer, Boolean) As Boolean
[C#] public static bool Wait(object, int, bool);
[C++] public: static bool Wait(Object*, int, bool);
[JScript] public static function Wait(Object, int, Boolean) : Boolean;
释放对象上的锁并阻塞当前线程,直到它重新获取锁或直到经过了指定的时间量,可以选择在等待之前退出同步上下文的同步域并重新获取该域。

[Visual Basic] Overloads Public Shared Function Wait(Object, TimeSpan, Boolean) As Boolean
[C#] public static bool Wait(object, TimeSpan, bool);

Thread.Sleep 方法  [C#]请参见
Thread 类 | Thread 成员 | System.Threading 命名空间 | C++ 托管扩展编程 
语言
C#

C++

JScript

Visual Basic

全部显示
将当前线程阻塞指定的毫秒数。

重载列表
将当前线程挂起指定的时间。

受 .NET Framework 精简版的支持。

[Visual Basic] Overloads Public Shared Sub Sleep(Integer)
[C#] public static void Sleep(int);
[C++] public: static void Sleep(int);
[JScript] public static function Sleep(int);
将当前线程阻塞指定的时间。

[Visual Basic] Overloads Public Shared Sub Sleep(TimeSpan)
[C#] public static void Sleep(TimeSpan);

#3


using System.Threading;

Thread.Sleep(2000);

#4


System.Threading.Thread.Sleep(2000);//等待2000毫秒(2秒)

#1


System.Threading.Thread.Sleep(2000);

#2


Monitor.Wait 方法  [C#]请参见
Monitor 类 | Monitor 成员 | System.Threading 命名空间 | C++ 托管扩展编程 
语言
C#

C++

JScript

Visual Basic

全部显示
释放对象上的锁并阻塞当前线程,直到它重新获取该锁。

重载列表
释放对象上的锁并阻塞当前线程,直到它重新获取该锁。

[Visual Basic] Overloads Public Shared Function Wait(Object) As Boolean
[C#] public static bool Wait(object);
[C++] public: static bool Wait(Object*);
[JScript] public static function Wait(Object) : Boolean;
释放对象的锁并阻塞当前线程,直到它重新获取锁或经过了指定的时间量。

[Visual Basic] Overloads Public Shared Function Wait(Object, Integer) As Boolean
[C#] public static bool Wait(object, int);
[C++] public: static bool Wait(Object*, int);
[JScript] public static function Wait(Object, int) : Boolean;
释放对象的锁并阻塞当前线程,直到它重新获取锁或经过了指定的时间量。

[Visual Basic] Overloads Public Shared Function Wait(Object, TimeSpan) As Boolean
[C#] public static bool Wait(object, TimeSpan);
[C++] public: static bool Wait(Object*, TimeSpan);
[JScript] public static function Wait(Object, TimeSpan) : Boolean;
等待来自调用 Pulse 或 PulseAll 方法的对象的通知或等待指定的计时器结束。此方法还指定是否在等待之前退出上下文的同步域(如果处于同步上下文中的话)然后重新获取该同步域。

[Visual Basic] Overloads Public Shared Function Wait(Object, Integer, Boolean) As Boolean
[C#] public static bool Wait(object, int, bool);
[C++] public: static bool Wait(Object*, int, bool);
[JScript] public static function Wait(Object, int, Boolean) : Boolean;
释放对象上的锁并阻塞当前线程,直到它重新获取锁或直到经过了指定的时间量,可以选择在等待之前退出同步上下文的同步域并重新获取该域。

[Visual Basic] Overloads Public Shared Function Wait(Object, TimeSpan, Boolean) As Boolean
[C#] public static bool Wait(object, TimeSpan, bool);

Thread.Sleep 方法  [C#]请参见
Thread 类 | Thread 成员 | System.Threading 命名空间 | C++ 托管扩展编程 
语言
C#

C++

JScript

Visual Basic

全部显示
将当前线程阻塞指定的毫秒数。

重载列表
将当前线程挂起指定的时间。

受 .NET Framework 精简版的支持。

[Visual Basic] Overloads Public Shared Sub Sleep(Integer)
[C#] public static void Sleep(int);
[C++] public: static void Sleep(int);
[JScript] public static function Sleep(int);
将当前线程阻塞指定的时间。

[Visual Basic] Overloads Public Shared Sub Sleep(TimeSpan)
[C#] public static void Sleep(TimeSpan);

#3


using System.Threading;

Thread.Sleep(2000);

#4


System.Threading.Thread.Sleep(2000);//等待2000毫秒(2秒)