1

我通常使用

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

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

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

4

1 回答 1

0

不幸的是,OpenMP 不支持读写锁。您可以改用其他提供shared_lock的库,例如 Boost 。

于 2012-09-10T13:15:13.490 回答