有一线程,已对它调用了Sleep(n),n是一个很长的时间,在这个期间想单击一个按钮时唤醒这个线程,该怎样唤醒这个线程?谢了.

解决方案 »

  1.   

    System.Threading.Thread.CurrentThread.Suspend();
    或用System.Threading.Thread.Resume();
      

  2.   

    to 有一线程,已对它调用了Sleep(n),n是一个很长的时间,在这个期间想单击一个按钮时唤醒这个线程,该怎样唤醒这个线程?谢了.如果调用一次Sleep是无法从中被唤醒的,你可以分段去sleep,例如:
    for( int i = 0; !blnWakeUp && i < 5; i++ )
    {
        Thread.Sleep( n / 5 );// sleep only one-fifth of total time
    }这样你就可以通过设置blnWakeUp标志来唤起线程了。
      

  3.   

    如thirdman(大肥猪) 所示如果你要睡很久 还不如让它暂时挂起
    需要的时候再让他Resume,