获取对当前boost :: thread /中断主线程的引用

时间:2011-03-02 20:12:00

标签: multithreading boost boost-thread interruptions

我试图获得对主执行的boost :: thread的引用,以便我可以中断它。 但是,boost :: thread似乎没有提供任何方法。

我在互联网上搜索过,但似乎无法找到这个问题的答案 我确实看到了一些旧的答案,但它们似乎与旧的增强代码相关 最接近的人说使用boost::thread t;(默认构造函数)会给我一个当前线程的引用。但是,boost文档似乎表示会创建对 not-a-thread 的引用。

我的主要目标是中断主线程,而不是获取对当前boost :: thread的引用,但这似乎是最简单的方法。

我目前的解决方案是从main创建一个新线程,然后加入()它。有没有办法获取当前线程对象(或中断它)而不使用此解决方法?

由于

1 个答案:

答案 0 :(得分:1)

用于(在v1.34及更早版本中)的默认构造boost::thread对象引用当前线程,但它不再这样做。

你不能在boost中断主线程。您开始一个新线程来完成工作并从main()加入它的解决方法是最好的方法。