c ++条件变量wait返回类成员

时间:2018-01-09 20:59:00

标签: c++ lambda condition-variable

我是Lambdas的新手,并试图让std :: condition_variable等待一个原子bool,它是另一个引用它的类函数的同一个类的成员。基本上,

class A{

public:
static std::atomic<bool> processed;
static std::condition_variable cvar_processed;
}
    class B{

    Type somefunction(T1 arg1 , T2 arg2){

      A obja;

      {
       std::unique_lock<std::mutex> lk1(processed_mutex);
       std::cout<< "somefunction is waiting..." std::endl;
       obja.cvar_processed.wait(lk1, [] { return obja.processed.load(); });
       lk1.unlock();
      }
// Continue with cool stuff


    return type;
   }

 }

我似乎无法访问lambda表达式中的obja.processed.load()。我尝试像[这个]一样捕获“这个” - 但我认为我的语法错误并没有立刻突显出来。

0 个答案:

没有答案