public void Restart () { ClearEvents (); var threads = new Thread [0]; lock (Threads) { threads = new Thread [Threads.Length]; Threads.CopyTo (threads, 0); } foreach (Thread t in threads) { AbortThread (t); } }