提升线程取消

时间:2009-06-24 17:55:39

标签: c++ boost-thread

你可以像pthread一样取消Boost Thread吗?

我正在编写一个简单的监视程序来终止工作线程,如果它们崩溃并且似乎没有办法简单地取消Boost Thread库中的一个线程。

2 个答案:

答案 0 :(得分:10)

他们不支持取消,这是一件好事,因为它可能导致各种微妙的问题。

看一下涵盖线程中断和boost :: thread_interrupted异常的文档部分,并设计一些东西,让你在完成清理工作的同时完成你想要的东西。

答案 1 :(得分:2)

它们不支持取消开箱即用(正如 Duck 所指出的那样),但是根据工作线程内部的处理情况,我会考虑使用{ {1}}通知线程它应该尽早完成(干净利落)。