使用openmp创建共享锁

Creating shared lock using openmp

本文关键字:共享锁 创建 openmp 使用      更新时间:2023-10-16

我通常使用

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

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

因此,我正在寻找一种使用类似方法实现共享锁和独占锁的方法。我有多个线程可以读取或写入一个变量。当一个线程正在写入时,它将阻止所有其他线程进行读取或写入。然而,读取变量不应该阻塞任何内容。我该怎么做?

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