关闭带线程的winform程序

多线程应用程序关闭,使用Environment.Exit(0); 
 
1.Monitor.Enter获得对数据对象的锁定
2.获得对象的锁之后,线程可以操作对象数据.
3.调用Monitor.Exit释放锁.
Monitor.Wait(this);} 
释放对象上的锁并阻塞当前线程,直到它重新获取该锁。
1,将主线程设置为后台进程。方法是将主线程的isBackground = true。据说,这样在关闭主程序时后关闭主线程,并关闭所有的线程。

      但是我这样做没有成功。

      2,有人列出了c#程序退出的几种方法:

            (1)Application.Exit()//好像只在主线程可以起作用,而且当有线程,或者是阻塞方法的情况下,很容易失灵。

             (2) System.Environment.Exit(0) //无论是在主线程或其它线程中,都可以把程序结束掉

     (3)Application.ExitThread();

Application.Exit()只是发出终止的消息,并不立即退出 
 立即退出可以用Environment.Exit(0)

强制退出,解决办法是:强制退出程序进程。代码如下:

System.Diagnostics.Process tt = System.Diagnostics.Process.GetProcessById(System.Diagnostics.Process.GetCurrentProcess().Id);
               
tt.Kill();

当然,这种方法很暴力。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23109131/viewspace-674525/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/23109131/viewspace-674525/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值