线程Abort
public class ConsoleApplication1 { static void Main() { MyThread myThread = new MyThread(); Thread t = new Thread(myThread.Work); t.Start(); t.Abort(); Console.WriteLine(t.IsAlive.ToString() + " " + t.ThreadState.ToString()); try { Console.WriteLine("线程中止之后不能开启"); t.Start(); } catch { Console.WriteLine("线程正在运行或者终止不能被重启"); Console.ReadLine(); } } } public class MyThread { public void Work() { while (true) { Console.WriteLine("线程运行中"); } } }
1、Abort可以在线程方法外部终止线程。如线程处于循环状态。
2、Abort终止线程之后不能再被开启。如果要在开线程,只能再new一条了。
-- 20220125
不推荐使用Thread.Abort(),参考https://www.cnblogs.com/a924453846/articles/5129235.html