我想在我的cpp多线程代码中使用std::experimental::barrier
。但即使我写了这样的代码:
#include <iostream>
#include <thread>
#include <experimental/barrier>
int main () {
return 0;
}
编译器抛出错误说:
experimental/barrier: No such file or directory
#include <experimental/barrier>
^`
我在我的Ubuntu机器上使用g ++版本6.3.0。 这是我正在尝试的命令:
g++ -pthread -std=c++11 top.cpp -o top_new
答案 0 :(得分:-1)
目前此库尚未推出。
也许这会有用: The GNU C++ Library Manual -> Part III. Extensions -> 30. Concurrency
文件&lt; \ text / concurrence.h&gt;包含用于播放线程的所有更高级别的构造。与原子层相反,并发层主要由类型组成。所有类型都在命名空间__gnu_cxx中定义。
...
此外,还有两个宏
_GLIBCXX_READ_MEM_BARRIER
_GLIBCXX_WRITE_MEM_BARRIER
扩展到主机硬件和操作系统所需的适当写入和读取障碍。