c#窗体 设置一个线程,里面有while(true)的死循环,如何在该窗体关闭时候结束这个线程
问题描述:
试过设置
thread.IsBackground = true;但是关闭窗体时候线程依旧持续运行
不想用Environment.Exit(0);
虽然没试过,不过应该会干扰其他窗体的线程
答
定义一个bool类型的成员变量, m_bRuning = true. while (m_bRuning) {} , 程序退出的时候把变量置为false, m_bRuning = false. 程序自然就结束了
答
将thread改为全局变量,退出时调用thread.Abort()
或者设置声明一个全局变量bool b=true,while(true)换为while(b),退出时将b置为false
答
thread改为全局变量,thread.IsBackground = true要在Start()前