OpenMP编程学习笔记四

single的用法。

parallel的目的就是能够让多个CPU协调处理问题,从而提高运行性能。例如,如下的代码,各个CPU都会执行一次。

#pragma omp parallel

{

printf("test OpenMP/n");

}

更多的时候,我们可能希望这种代码只要在一个CPU上执行就行了,以便减少CPU的功耗。这时可以使用single。

测试代码如下:

void testSingle()
{
    omp_set_num_threads( 4 );

#pragma omp parallel
    {
        printf("test OpenMP/n");
#pragma omp single
        {
            printf("test OpenMP single/n");
            printf("execute thread ID is %d/n", omp_get_thread_num());
        }
    }
}

 

一个运行结果如下:

test OpenMP
test OpenMP
test OpenMP
test OpenMP
test OpenMP single
execute thread ID is 0

 

另外一个运行结果:

test OpenMP
test OpenMP single
execute thread ID is 1

test OpenMP
test OpenMP

你可能感兴趣的:(编程,thread,parallel,测试)