多线程退出的问题

will38 2003-09-15 11:51:35
问题描叙:一个Form程序,点Create创建一个子线程A,该子线程A又创建了一个子线程B,点Exit按钮后一切都退出.

我的线程之间用最简单的通讯方式:一个静态的bool gBoolStopThread;(它为true就退出子线程)

在子线程A的入口函数如下:
public void PersonalInfoManage()
{
//启动子线程B
ThreadStart B=new ThreadStart(this.ProcessArrayList);
Thread myThreadB=new Thread(B);
myThreadB.Start();
while(gBoolStopThread==false)
{...}

}

现在,当点Exit按钮后,它的函数代码如下:
private void buttonExit_Click(object sender, System.EventArgs e)
{
gBoolStopThread=true;
this.Close();
Application.Exit();
}
gBoolStopThread变为true,那么子线程A的确退出了,那么它的资源都施放了吗?
子线程B的资源要怎么施放掉?(也将gBoolStopThread变为true)
而且,主程序好像都不能退出啊!
如何用更好的方法来解决这个问题?
...全文
44 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ruanyuping 2003-09-15
  • 打赏
  • 举报
回复
up
wolfpzp 2003-09-15
  • 打赏
  • 举报
回复
在gBoolStopThread变为true后,线程A先不退出,而是对线程B做强制操作,关闭线程B之后再退出

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧