【发布时间】:2010-11-05 14:39:50
【问题描述】:
您可以像取消 pthread 一样取消 Boost Thread 吗?
我正在编写一个简单的看门狗来在工作线程崩溃时终止它们,并且似乎没有办法简单地取消 Boost 线程库中的线程。
【问题讨论】:
标签: c++ boost-thread
您可以像取消 pthread 一样取消 Boost Thread 吗?
我正在编写一个简单的看门狗来在工作线程崩溃时终止它们,并且似乎没有办法简单地取消 Boost 线程库中的线程。
【问题讨论】:
标签: c++ boost-thread
他们不支持取消,这是一件好事,因为它会导致各种微妙的问题。
查看涵盖线程中断和 boost::thread_interrupted 异常的文档部分,并设计一些可以让您完成您想要的事情同时还可以清理的东西。
【讨论】:
他们不支持开箱即用的取消(正如 Duck 所指出的),但是根据工作线程内部正在进行的处理,我会考虑使用 @ 987654321@ 通知线程它应该尽早(干净地)完成。
【讨论】: