提问人:SPlatten 提问时间:4/29/2020 更新时间:4/29/2020 访问量:362
Boost::this_thread_interruption_point 的 STD 替代品
std alternative to boost::this_thread_interruption_point
问:
我正在开发一个使用 boost 1.61 的 C++ 项目,我正在用 std 调用替换 boost,是否有 boost::this_thread::interruption_point() 的替代方案?
答:
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/ 中一样......
评论
std::jthread