程序退出了,进程还在。 我启了一个进程用来跑job,进程里另起了两个线程,进程和每个线程函数最后我都打了log标志其结束,可是job跑完了,那个exe还在。这种情况目前只在一台电脑上出现过,其它电脑都没有出现过,真是奇怪。求各位帮忙分析分析~~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Application.Exit();这才是应用退出,如果那个窗体不是启动窗体,就不会退出应用地 你可以在Application.Exit();之前手动把那两个线程关掉 你把设置那个线程的background属性。 Application.Exit(0)在窗体关闭时,强制执行! 一般情况下,需要等待你之前Run的部分Close以后才可以关掉进程而很多人对Application.Run的运行机制并没有了解完全当然我是不建议用Application.Exit这种方法因为一个软件如果用了Application.Exit,我个人觉得这个软件的质量一般如果用this.close,因为主窗口仍然在运行,所以进程也在运行,看不见仅仅是因为隐藏了的窗口建议还是管理好线程。 对了,界面是一个winform,然后再winform上启动一个exe,所以winform不用退出。不需要用Application.exit()吧,那个exe不是winform,只有程序结束了就能退出吧。 Application.ExitThread()Application.Exit()这两个都行` 有什么区别? //线程开启的时候 保存对象,程序结束的时候关闭线程.private Thread th = new Thread(new ThreadStart(test));void Form1_Load(object sender, System.EventArgs e){ th.Start();//启动线程}static void test(){ //测试线程的方法 while(true) { Thread.Sleep(100);//这个方法永远不会执行完毕. }}//窗体关闭事件void Form1_FormClosing(object sender, System.Windows.Forms.FormClosingEventArgs e){ if (th != null && th.IsAlive) { try { th.Abort();//终止线程 } catch { } }} 内启其它exe和开线程可不是一回事,你得确定清楚了,线程在程序退出时无法及时关闭可以用Application.Exit强行关闭,其它exe程序则不会随着线程关闭而自动结束运行,内嵌exe程序通常应使用Process类管理 vs2008 好书推荐! 求一个正则,望高手指点下 有没有 .Net 平台下的开源工作流程序 DataGridViewTextBoxColumn 单元格如何转换成TextBox来用 C#开发的局域网聊天软件--布谷鸟2007 如何判断pda与PC主机是否连接,如何判断连接后的主机名! 用过xtragrid的兄弟们帮忙看看这个! 急切的询问:在c#中如何调用vc6.0编写的dll? datagridview数据插入数据库问题 问Excel的操作原理 for循环请教 WPF中怎样取得ItemsControl里面DataTemplate的控件???
这才是应用退出,如果那个窗体不是启动窗体,就不会退出应用地
Application.ExitThread()
Application.Exit()
这两个都行` 有什么区别?
//线程开启的时候 保存对象,程序结束的时候关闭线程.
private Thread th = new Thread(new ThreadStart(test));
void Form1_Load(object sender, System.EventArgs e)
{
th.Start();//启动线程
}static void test()
{
//测试线程的方法
while(true)
{
Thread.Sleep(100);//这个方法永远不会执行完毕.
}
}//窗体关闭事件
void Form1_FormClosing(object sender, System.Windows.Forms.FormClosingEventArgs e)
{
if (th != null && th.IsAlive)
{
try
{
th.Abort();//终止线程
}
catch { }
}
}