日期:2014-05-18  浏览次数:21238 次

主线程强制关闭,子线程用不用管了
winform
1,程序关闭的时候。主线程abort()..子线程会不会因为主线程的死亡也自动死亡?
2、如果要通知子线程子线程关闭。如何通知?用简单的方法。比如判断一个static类型的bool字段。

------解决方案--------------------
1。必须人为关闭子线程,否则程序不会真正结束,子线程一直会运行直到其结束
2.1。可以设置一个公共变量(不一定要static的,但必须主线程和子线程都能访问),当主线程结束时设置为true,子线程在循环体中检测变量,检测到true是结束
2.2。把主线程中的子线程做成变量、或是变量数组、变量集合、队列都行,主线程结束前先将所有子线程Abort()
------解决方案--------------------
1.不会。如果把子线程IsBackGroung设为true,就会自动死亡了。
2.可以把子线程的线程循环的判断标志用变量来做,但是并不会完全管用。如果线程的工作需要等待某些设备的返回,而不是在线程循环转圈,就不管用了。