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

解决方案 »

  1.   

    Monitor.Wait 方法  [C#]请参见
    Monitor 类 | Monitor 成员 | System.Threading 命名空间 | C++ 托管扩展编程 
    语言
    C#C++JScriptVisual 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++JScriptVisual 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);
      

  2.   

    using System.Threading;Thread.Sleep(2000);
      

  3.   

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