你可以像pthread一样取消Boost Thread吗?
我正在编写一个简单的监视程序来终止工作线程,如果它们崩溃并且似乎没有办法简单地取消Boost Thread库中的一个线程。
答案 0 :(得分:10)
他们不支持取消,这是一件好事,因为它可能导致各种微妙的问题。
看一下涵盖线程中断和boost :: thread_interrupted异常的文档部分,并设计一些东西,让你在完成清理工作的同时完成你想要的东西。
答案 1 :(得分:2)
它们不支持取消开箱即用(正如 Duck 所指出的那样),但是根据工作线程内部的处理情况,我会考虑使用{ {1}}通知线程它应该尽早完成(干净利落)。