gpt4 book ai didi

c++ - Boost (v1.33.1) 线程中断

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:01:11 26 4
gpt4 key购买 nike

如何中断休眠/阻塞的 boost::thread?

我正在使用 Boost v1.33.1,无法升级。

谢谢。

最佳答案

快速阅读 1.33 中 boost.thread 的文档表明没有可移植的方法来实现中断。在 1.35 中引入了线程中断(针对 boost“中断点”之一中的线程)。

因此,我能想到的唯一选择是使用信号(信号也不在 1.33 中,因此您需要求助于,例如,pthreads)结合任何方法的超时正在阻塞。基本上使用信号来唤醒正在 sleep 的线程,方法是让它们 sleep 等待信号和阻塞线程超时让它们醒来并检查它们是否应该退出。不幸的是,这是一个非常不受欢迎的解决方案,并且在某种程度上相当于新版本的 boost 在内部所做的事情。

如果您正在使用 boost.thread,那么您应该考虑为其他项目升级到更新的版本,因为 1.33 不支持绝大多数对多线程必不可少的构造。

关于c++ - Boost (v1.33.1) 线程中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1901049/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com