将OpenMP与pthreads混合使用

Met*_*est 9 c linux pthreads openmp

我的问题是将OpenMP与pthreads混合是否是一个好主意.是否有那些将这两者结合起来的应用程序.混合这两个是一个好习惯吗?或典型的应用程序通常只使用两者之一.

Mys*_*ial 10

通常情况下,最好只使用其中一种.但至少对我自己来说,我经常混合两者,如果正确完成它是安全的.

我这样做最常见的情况是我有一个使用pthreads线程化的低级库,但我在使用OpenMP的用户应用程序中调用它.

在某些情况下,它不安全.例如,如果在退出该线程中的所有OpenMP区域之前杀死了pthread.