作用域
- 静态扩展
- 文本代码在一个编译制导语句之后,被封装到一个结构块中
- 孤立语句
- 一个OpenMP的编译制导语句不依赖于其他的语句
- 动态扩展
- 包括静态范围和孤立语句
绑定规则
- Do/for、Sections、Single、Master 和 Barrier 需要在并行域中使用,否则无效(并行域如Parallel中的代码块部分);
- Ordered 绑定到动态 Do/For 的使用中;
- Atomic 与 Critical 指令类似,对所有线程生效,而非当前线程;
嵌套规则
- 在同一个并行域中 Do/For、Sections 和 Single 不允许互相嵌套;
- Do/for、Sections 和 Single 不允许在 Critical、Ordered 和 Master 的作用域中;
- Critical 语句不允许相互嵌套;
- Barrier 语句不允许在动态扩展 Do/For、Ordered、Sections、Single、Master 和 Critical 域中;
- Ordered 语句不允许在动态扩展 Critical 域中;