使用openmp创建共享锁

时间:2012-09-10 09:38:11

标签: c++ locking openmp critical-section

我通常使用

#pragma omp critical(lock)
{ ... }

指令,当我需要确保只有一个线程正在执行给定的代码时。

所以我正在寻找的是一种使用类似的东西实现共享锁和独占锁的方法。我有多个线程可以读取或写入变量。当一个线程正在写入时,它将阻止所有其他线程进行读写。但是读取变量不应该阻止任何事情。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

不幸的是,OpenMP不支持读写器锁。您可以使用其他提供shared_lock的Boost等库。