在openmp中重入锁

Reentrantlock in openmp

本文关键字:openmp      更新时间:2023-10-16

我最近听说了Reentrantlock,它在Java中是可用的。但我试图实现并行数据结构,如优先级队列使用openmp和c++。

我很想知道是否有类似的等效存在于openmp和c++中,或者是否可以使用pthreads实现?

参见OpenMP 4.5标准第270页(PDF第279页)对omp_nest_lock的描述。

元问题是"你为什么要这样做?"
为什么不简单地使用像TBB的并发优先级队列这样的东西呢?
您是否因为其他原因需要使用OpenMP ?
这是为了你自己的教育吗?
如果没有,那么TBB可能是一个更简单的方法(它现在是Apache许可的)。

(顺便说一下,我为英特尔工作,英特尔编写了TBB,但我在OpenMP工作,而不是TBB:-))