Boost 开出来的线程怎么捕捉 Ctrl - c
如题,我用 boost::thread 开了一个线程,线程就做循环打印吧。但是这个程序跑起来以后,按 ctrl-c
,并不会立即退出,而要等挺长一段时间。
请问怎么使得这个线程能够马上响应呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如题,我用 boost::thread 开了一个线程,线程就做循环打印吧。但是这个程序跑起来以后,按 ctrl-c
,并不会立即退出,而要等挺长一段时间。
请问怎么使得这个线程能够马上响应呢?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
ctrl+c会发送一个SIGINT信号。boost::thread可能要完成一些资源清理工作后再退出。你也可以自己处理SIGINT。不过不推荐使用信号啊。linux下用条件变量。在windows下MESSAGE跟EVENT都可以做这个事情。还有更好的办法是C++11里面的条件变量(boost的线程库已经进了11标准了)