OpenMP 并行部分

此示例显示如何并行执行代码块

std::cout << "begin ";
//    Start of parallel sections
#pragma omp parallel sections
{
    //    Execute these sections in parallel
    #pragma omp section
    {
        ... do something ...
        std::cout << "hello ";
    }
    #pragma omp section
    {
        ... do something ...
        std::cout << "world ";
    }
    #pragma omp section
    {
        ... do something ...
        std::cout << "forever ";
    }
}
//    end of parallel sections
std::cout << "end";

输出

  • 开始 Hello World 永远结束
  • 开始世界你好永远结束
  • 永远开始世界末日
  • 永远开始 Hello World 末日

由于无法保证执行顺序,你可能会观察到上述任何输出。