c++ pragma omp critical(name)
c++ pragma omp critical(name)
想象一下,我有一个包含关键区域的类方法:
class A{
public:
A(){};
method(){
#pragma omp critical(name)
{ //do something }
}
}
现在我有两个A
的实例,即A a1
和A a2
。行为是什么CCD_ 4和CCD_?{//do something}
能否在同时?
最后,我想禁止在上同时调用{//do something}
相同的实例,但允许在上同时调用{//do something}
不同的实例。
对象的所有实例的关键部分都是相同的——一次只能进入一个线程。
要允许不同的实例分别管理访问,请使用实例拥有的互斥对象。您可以使用omp_init_lock()
和其他omp_xxx_lock()
函数、std::mutex
或其他互斥实现。
相关文章:
- 使用模板进行堆栈实现; "name followed by :: must be a class or namespace"
- C++中"dependent name"的定义是什么?
- 将系数存储在头文件的数组中("does not name a type"错误)
- 桌面中的Qt QMessageBox中心'critical'
- 将成员函数作为构造函数参数调用时出错 "Variable is not a type name"
- C++初学者:为什么我的编译器根据我的循环返回"name not found"?
- 当初始值设定项是基类名时'initializer does not name a non-static data member or base class'错误
- 如何解决"'mutex' in namespace 'std' does not name a type"?
- 在 C++ 中使用命名空间时出现"does not name a type"错误
- 已声明时"Does not name a type"错误
- 嵌套类"does not name a type"
- C++ "Using Uninitialized Memory.. (variable name) "
- 在反转字符串'my.name.is'时,我得到的输出为"is@.name.my"。我不明白'@'是从哪里来的
- C++错误:"class name"之前的预期类型说明符
- C++从"NameBase"类到模板"Name"类的相互关系的成语(或模式)
- 错误 C6011:取消引用空指针"NAME"。C++
- 无法构建 RcppArmadillo.package.skeleton 测试包:"R_init_"的多重定义<name>
- C++ 中的类之间的数据重新循环 - 错误:'<class name>'未在此范围内声明
- "char const * name() const _WEBSOCKETPP_NOEXCEPT_TOKEN_ {"剂量是什么意思
- c++ pragma omp critical(name)