大概是只仓鼠
2021-07-21 16:44
采纳率: 89.3%
浏览 117

c#窗体 设置一个线程,里面有while(true)的死循环,如何在该窗体关闭时候结束这个线程

试过设置
thread.IsBackground = true;但是关闭窗体时候线程依旧持续运行

不想用Environment.Exit(0);
虽然没试过,不过应该会干扰其他窗体的线程

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • mark-puls 2021-07-21 16:52
    已采纳

    定义一个bool类型的成员变量, m_bRuning = true. while (m_bRuning) {} , 程序退出的时候把变量置为false, m_bRuning = false. 程序自然就结束了

    已采纳该答案
    1 1 打赏 评论
  • zxpei 2021-07-21 16:55

    将thread改为全局变量,退出时调用thread.Abort()
    或者设置声明一个全局变量bool b=true,while(true)换为while(b),退出时将b置为false

    1 打赏 评论
  • yuqiz1981 2021-07-22 08:57

    thread改为全局变量,thread.IsBackground = true要在Start()前

    打赏 评论

相关推荐 更多相似问题