如何模拟" openmp private"在pthread

时间:2014-12-13 08:27:14

标签: pthreads openmp

我正在使用pthread来并行化一些代码。首先,我将它与openmp并行化。这很容易和直截了当。因为我只是私有变量以避免竞争条件。我想在我的pthread代码中做同样的事情。我该怎么办?

1 个答案:

答案 0 :(得分:0)

根据您的代码/目的,您可以使用pthread mutex序列化对某些共享资源/值的访问,因此任何时候只有一个线程正在修改它:    - pthread_mutex_create / destroy    - pthread_mutex_lock / unlock   +使资源/值本身易变,以避免编译时间优化 或者您可以使用线程本地值:    - pthread_key_create / delete    - pthread_setspecific    - pthread_getspecific 虽然pthread start_routine中的局部变量可能会为你做同样的事情。