Thread线程相关的问题
永远的小鱼 2019-07-16 03:33:52 因为业务关系 方法中 大量使用 new Thread(run).Start(); 来启动方法,该方法因为里面是死循环 所以经常导致程序无法完全退出 方法如下
public void run(){
while(true){
try
{
Console.WriteLine("123456");
}
catch (Exception e)
{
//终止当前线程
Console.WriteLine("-----------close thread----------");
if (e.GetType() == typeof(ThreadAbortException)) return;
}
}
Thread.Sleep(1000);
}
public void start(){
new Thread(run).Start();
new Thread(run).Start();
new Thread(run).Start();
.............
}
public void close(){
//这里如何关闭所有线程呢 已知 Thread ts = new Thread(run); ts.Abort(); 可以向线程抛出异常 停止线程
//在没有定义ts的情况下 我怎么获取程序中隐藏的 thread实例 并Abort给关闭呢
}