Boost::this_thread_interruption_point 的 STD 替代品

std alternative to boost::this_thread_interruption_point

提问人:SPlatten 提问时间:4/29/2020 更新时间:4/29/2020 访问量:362

问:

我正在开发一个使用 boost 1.61 的 C++ 项目,我正在用 std 调用替换 boost,是否有 boost::this_thread::interruption_point() 的替代方案?

C++ Boost 标准

评论

2赞 Mat 4/29/2020
你有没有看过并停止代币?std::jthread

答:

5赞 ForEveR 4/29/2020 #1

std::thread不可中断。您可以在此处阅读有关此内容的更多信息。但是,C++-20 中有 std::jthread,您可以尝试使用。不幸的是,根据 cpp-reference 上的编译器支持列表,只有 libstdc++ 10+ 支持 .std::jthread

评论

0赞 SPlatten 4/29/2020
不幸的是,这不是我可以使用的选项,因为我仅限于可用的 C++ 版本。开发环境为 VS2013。
0赞 ForEveR 4/29/2020
@SPlatten,那么你要么不能在 std 上用线程重写工作,要么你可以尝试使用本机句柄并中断它,如果不需要跨平台。
0赞 SPlatten 4/29/2020
我刚刚打开了线程 C++11 标头,它不包含 jthread。
0赞 SPlatten 4/29/2020
我会给你打勾,因为我认为我的特定问题没有正确的答案,但你非常有帮助。
0赞 sehe 4/30/2020
一个更正确的答案是使用这种方法自己实现它,就像在 CCiA manning.com/books/ 中一样......