快速停止

Kra*_*ken 1 c# multithreading while-loop

我有这个代码:

private STOP = false;

public void Start()
{
     while(!STOP)
     {
          //do some work
          Thread.Sleep(15000);
     }
}

public void Stop()
{
     STOP = true;
}
Run Code Online (Sandbox Code Playgroud)

但使用此代码有时需要等待15秒,如何快速停止此循环或者可能需要使用其他代码?

谢谢!

Dar*_*con 7

有点像:

private System.Threading.ManualResetEvent STOP = new System.Threading.ManualResetEvent(false);

public void Start()
{
     while(true)
     {
          //do some work
          if(STOP.WaitOne(15000))
            break;
     }
}

public void Stop()
{
    STOP.Set();
}
Run Code Online (Sandbox Code Playgroud)