控制台多线程程序的结束方法
2010-07-09 10:39
253 查看
比较不错的方法是:
1、在主线程(运行main函数的线程)中利用SetConsoleCtrlHandler注册的控制事件处理函数(注意:这个函数将运行在另外的线程, 这点可用GetCurrentThreadId验证之)7 ^& t" R+ _, D3 [. o
2、控制事件产生后, 在控制线程(运行控制事件处理函数的线程)中设置标志量表明程序开始退出( 主线程检测到标志量变化后将开始等待其余线程退出).控制线程开始等待工作者线程退出完成.
3、各工作者线程检测到标志量的变化, 退出. V& E; R' u) M% J s
4、控制线程退出
5、主线程等待其余线程退出完成,退出3 f; C!
1、在主线程(运行main函数的线程)中利用SetConsoleCtrlHandler注册的控制事件处理函数(注意:这个函数将运行在另外的线程, 这点可用GetCurrentThreadId验证之)7 ^& t" R+ _, D3 [. o
2、控制事件产生后, 在控制线程(运行控制事件处理函数的线程)中设置标志量表明程序开始退出( 主线程检测到标志量变化后将开始等待其余线程退出).控制线程开始等待工作者线程退出完成.
3、各工作者线程检测到标志量的变化, 退出. V& E; R' u) M% J s
4、控制线程退出
5、主线程等待其余线程退出完成,退出3 f; C!
相关文章推荐
- 控制台多线程程序的结束方法
- VC++/VS2010 Win32控制台程序 运行结束 dos窗口立刻消失/一闪而过 的解决方法
- VS2010 Win32控制台程序 运行结束 DOS/dos窗口立刻消失/一闪而过 的解决方法整理
- 控制台程序运行结束后闪退的解决方法
- VC++/VS2010 Win32控制台程序 运行结束 DOS/dos窗口立刻消失/一闪而过 的解决方法整理
- VC++/VS2010 Win32控制台程序 运行结束 DOS/dos窗口立刻消失/一闪而过 的解决方法整理
- VC控制台程序结束后暂停
- VC 开发控制台程序 不出现CMD对话框的方法
- Java多线程程序中synchronized修饰方法的使用实例
- 利用反射机制编写一个程序,这个程序能指定调用类的某个方法及构造方法,并把操作信息输出到控制台。
- PHP调用控制台EXE程序的方法
- 应用select 函数控制多线程中子线程结束方法
- Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法
- PHP调用控制台EXE程序的方法
- Android结束Activity退出程序的一种有效方法
- Android结束Activity退出程序的一种有效方法
- 【Android】结束活动退出程序的方法
- 给Win32 GUI程序增加控制台窗口的方法
- linux结束程序内存不会马上释放的解决方法
- 控制台程序使用方法简要教程