c++ - 'yield' 不是 'std::this_thread' 的成员

标签 c++ multithreading gcc c++11

我试图让出当前线程:

std::this_thread::yield();

但不幸的是,GCC 知道得更多:

'yield' is not a member of 'std::this_thread'

我是否忘记了一些类似于 D_GLIBCXX_USE_NANOSLEEP 的 hack,或者什么?

最佳答案

是的,这似乎是一个类似于 _GLIBCXX_USE_NANOSLEEP 的问题。 GCC 根据宏 _GLIBCXX_USE_SCHED_YIELD 有条件编译 yield。如果您定义它,它应该可以编译。

这将在 GCC 4.8 中修复。

关于c++ - 'yield' 不是 'std::this_thread' 的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9140019/

相关文章:

c++ - 使用C++输出运算符打印前导零?

c# - 连接池使用相同的错误连接字符串向两个线程返回相同的异常实例?

c# - 如何将 Parallel.ForEach 与列表一起使用?

c++宏包裹在函数指针中以放入 vector

在 Ubuntu 中找不到 libcrypto

c++ - 其创建被包装在宏中的对象的声明

c++ - 使用 boost 打开/关闭测试服

c++ - LLVM 异常;如何放松

python - 在 $PATH 中找不到可接受的 C 编译器 - 安装 Python 和 GCC

c++ - 如何抑制源文件中特定宏定义的零参数的 GCC 可变参数宏参数警告