public bool ControlThread(ThreadCtrl threadCtrlMode) { switch (threadCtrlMode) { case ThreadCtrl.Pause: PauseThread = true; EventPause.Reset(); break; case ThreadCtrl.Resume: PauseThread = false; EventPause.Set(); break; case ThreadCtrl.Stop: StopInProgress = true; PauseThread = true; StopInProgress = false; break; case ThreadCtrl.Exit: ExitThread = true; EventPause.Set(); EventExit.Set(); while (RunningThread) { Thread.Sleep(100); } break; } return(false); }
public bool ControlThread(ThreadCtrl threadCtrlMode) { switch (threadCtrlMode) { case ThreadCtrl.Pause: PauseThread = true; EventPause.Reset(); break; case ThreadCtrl.Resume: PauseThread = false; EventPause.Set(); break; case ThreadCtrl.Stop: StopInProgress = true; PauseThread = true; StopInProgress = false; break; case ThreadCtrl.Exit: ExitThread = true; EventPause.Set(); EventExit.Set(); while (RunningThread) Thread.Sleep(100); break; } return false; }