OpenMP:线程同步

barrier指令

  • barrier为显示调用栅栏同步,在调用处除非所有的调用现场全部到达,否则先到达的线程要等待其它的线程全部到达才能继续向下执行。
  • barrier保证了可见性,在barrier指令之后的并行区域所看到的共享存储器的内容是一致的。
  • barrier会造成死锁,如果在某个线程代码内部使用了该指令,是无论如何也等不到其它线程的。
  • 如果不同的线程间需要交互访问数据,可以用barrier指令实现。

ordered指令

critical指令

atomic指令

locks指令

master指令

你可能感兴趣的:(并行计算)