为什么我不能使用<experimental barrier =“”>?

时间:2018-02-09 21:25:08

标签: c++ multithreading

我想在我的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

1 个答案:

答案 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

     

扩展到主机硬件和操作系统所需的适当写入和读取障碍。