std :: condition_variable给出'std :: system_error'what():不允许操作

时间:2017-06-06 14:53:03

标签: linux c++11 pthreads

我想知道为什么这段代码会给出运行时错误。 http://ideone.com/4a7v5A

我在我的本地尝试过,这就是我编译的方式

g++ -pthread -Wl,--no-as-needed -c -g -std=c++11 -MMD -MP -MF "/tmp/main.o.d" -o /tmp/main.o main.cpp
mkdir -p dist/Debug/GNU-Linux-x86
g++ -pthread -Wl,--no-as-needed -o /tmp/main.o -pthread

这是链接中的代码

这是输出

1 : Consumer-0joining
   2 : Procuding item 1
   3 : finished
   4 : Consumer-5 consuming item 1
   5 : Consumer-5 0 item left 
   6 : Procuding item 1
   7 : finished
   8 : Consumer-4 consuming item 1
   9 : Consumer-4 0 item left 
  10 : Procuding item 1
  11 : finished
  12 : Consumer-2 consuming item 1
  13 : Consumer-2 0 item left 
  14 : Procuding item 1
  15 : finished
  16 : Consumer-0 consuming item 1
  17 : Consumer-0 0 item left 
  18 : Procuding item 1
  19 : finished
  20 : Consumer-6 consuming item 1
  21 : Consumer-6 0 item left 
  22 : Procuding item 1
  23 : finished
  24 : Consumer-3 consuming item 1
  25 : Consumer-3 0 item left 
  26 : Procuding item 1
  27 : finished
  28 : Consumer-1 consuming item 1
  29 : Consumer-1 0 item left 
  30 : Procuding item 1
  31 : finished
  32 : Consumer-5 consuming item 1
  33 : Consumer-5 0 item left 
terminate called after throwing an instance of 'std::system_error'
  what():  Operation not permitted

0 个答案:

没有答案
相关问题