我在主窗体里调用了一个线程执行后台数据处理,在关闭主窗体之前,把线程Abort()了,但是程序关闭后,打开资源管理器,发现进程还存在, 关闭窗体时执行下面的操作: MyThread.Abort()Application.Exit()或MyThread.Abort()me.close()发现都一样没有释放资源,进程仍然存在,请问应如何正常退出程序! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 MyThread.Abort();MyThread.Join();MyThread = null; private void Form1_Closed(object sender, System.EventArgs e) { MyThread.Abort(); }这样试试,要是不行,可能你的资源还在占用,不能结束掉,看看程序,那里应该释放资源而没有释放掉 t0h(t0h) :MyThread.Abort();MyThread.Join();MyThread = null;程序关闭时会死掉,MyThread.Join();没有什么用吧? to huguguhu() ( ) 信誉:83 试过了,进程仍然存在 to qingping21cn.join()是阻塞当前调用进程,直到mythread终止如果调用.join()时 代码死掉了 可以检查一下你的mythread在干什么 mythread 里面是一个无限循环 while true 我刚试验了一下在线程里while(true){int i=0;i++;} 停掉它用了两秒种~ 不清楚你代码里做什么动作~或者是否可以考虑 把while(true) 换成while(condition) 然后在要停她的地方condition=false; 我觉得原因是你在用Abort()的时候,MyThread根本就不是指的要关闭的那个进程 WinForms C#.net 播放器 程序的优化 Webbrowser问题,如何快速定位一个网页上某个框上的ID 不会写文档,怎么办啊? webservice 中不能加载oraops9.dll. ASP.NET Forums 2.0 论坛源代码 学习的好机会!!!!!! C#post提交参数问题 聊天室中,Remoting客户端第二次登录无法收到消息 如何用WebBrowser控件实现填写表单并提交? tcp与socket的区别? 问题有点简单,实在不要意思,小弟初学 .Net Remoting的问题,大侠们请帮忙哦
MyThread.Join();
MyThread = null;
{
MyThread.Abort();
}
这样试试,要是不行,可能你的资源还在占用,不能结束掉,看看程序,那里应该释放资源而没有释放掉
MyThread.Abort();
MyThread.Join();
MyThread = null;
程序关闭时会死掉,MyThread.Join();没有什么用吧?
试过了,进程仍然存在
如果调用.join()时 代码死掉了 可以检查一下你的mythread在干什么
在线程里while(true){int i=0;i++;} 停掉它用了两秒种~ 不清楚你代码里做什么动作~或者是否可以考虑 把while(true) 换成while(condition) 然后在要停她的地方condition=false;