Mine
public text v1 · immutable private ManualResetEvent m_Event = new ManualResetEvent ();
public void StartThread() {
ThreadPool.QueueUserWorkItem (new WaitCallback (ThreadRun), null);
}
private void ThreadRun (object state) {
while(true) {
// do work, do work
if(m_Event.WaitOne(0)) {
// time to exit
}
}
}
private void OnButtonClick() {
m_Event.Set (); // Tell the thread it's time to exit gracefully;
}