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 末日

由於無法保證執行順序,你可能會觀察到上述任何輸出。