parallel用于创建一个并行区域。
#pragma omp parallel[子语句[[,]子语句]...]
{
将要被并行执行的语句块
}
子语句:
if(常量表达式)
num_threads(整数表达式)
default(shared|none)
private(列表)
firstprivate(列表)
shared(列表)
copyin(列表)
reduction(运算符:列表)
for将一个循环用于并行执行。
#pragma omp for[子语句:[[,]子语句:]...]
{
将要被并行执行的循环语句
}
子语句:
private(列表)
firstprivate(列表)
lastprivate(l列表)
reduction(运算符:列表)
schedule(伊⨚[,⧦⮶⺞])
collap(n)
ordered
西安教育培训nowait
ctions将多个语句块和合并起来形成一个并行区域。#pragma omp ctions[子语句[[,]子语句]...]
{
[
#pragma omp ction
{
将要被并行执行的语句块
}courwork
]
[
#pragma omp ction
{担心的英语
将要被并行执行的语句块
美国大选2020时间表
忽视英文}
]
更多的并行区域
}
子语句:
private(列表)
firstprivate(列表)
lastprivate(列表)
reduction(运算符:列表)
nowait
single将指定的语句块只用一个的线程执行(不一定是主线程)。
#pragma omp single[子语句[[,]子语句]...]
{
指定的语句块
}
子语句:
2010年6月英语四级听力private(列表)
firstprivate(列表)
copyprivate(列表)
nowait
parallel for将多个parallel ctions包含的独立并行区域循环执行。#pragma omp parallel for[子语句[[,]子语句]...]
{
#pragma omp parallel ctions[子语句[[,]子语句]...]
{
[#pragma omp ction]
{
将要被并行执行的语句块
}
[#pragma omp ction]
jelly belly{
将要被并行执行的语句块
}
更多的并行区域
}
}
task用于指定一个明确的任务。但必需要遵守“数据共享规定”。#pragma omp task[子语句[[,]子语句]...]king cobra
{
进球英语被指定为任务的语句块
}
子语句:
if(标量表达式)
untied
default(shared|none)
private(列表)
firstprivate(列表)
shared(列表)
master为主线程设定一个语句块。
#pragma omp master
{
被指定的语句块
}
critical限定了一个语句块一次只能在一个单独的线程里面执行。
#pragma omp critical[(name)]
{
被指定的语句块
}
barrier创建一个分界点(后面没有语句块)
#pragma omp barrier
taskwait用于产生一个等待。(后面没有语句块)
#pragma omp taskwait
atomic用于保证某个特定储存位置的更新,当多个线程对其进行写操作的时候。#pragma omp atomic
{
表达式语句
}
表达式语句:依照下面的形式
x binop=expr
x++
++x
x--
--x
flush执行一次O p e n MP的刷新操作,使变量的内存值和临时值保持一值。
韩国的新年
#pragma omp flush[(变量列表)]
ordered将循环体语句块按循序执行。
#pragma omp ordered
structured-block
{
语句块
}
threadprivate为每一个线程创建一个变量副本。
#pragma omp threadprivate(变量列表)