您是否可以像取消pthread一样取消Boost Thread?
我正在编写一个简单的看门狗程序,如果工作线程崩溃,就会终止它们。但是,在Boost Thread库中似乎没有简单地取消线程的方法。
您是否可以像取消pthread一样取消Boost Thread?
我正在编写一个简单的看门狗程序,如果工作线程崩溃,就会终止它们。但是,在Boost Thread库中似乎没有简单地取消线程的方法。
他们不支持取消操作,这是一件好事情,因为它可能导致各种微妙的问题。
查看涵盖线程中断和boost::thread_interrupted异常的文档部分,并构建一些内容,使您能够实现所需的功能并清理代码。
如Duck所指出的那样,他们不自带支持取消功能。但是,根据您的工作线程内部处理情况,我建议使用boost::condition
来通知线程,在最早的机会下应该(干净地)完成。