共用方式為


parallel

定義在平行區域,也就是將由多個執行緒同時執行的程式碼。

#pragma omp parallel [clauses]
{
   code_block
}

備註

其中,

  • clause (選擇項)
    零個或多個子句。 請參閱 < 備註 > 一節清單所支援的子句的平行

備註

平行指示詞可支援下列 OpenMP 子句:

平行也可與sections (OpenMP)for (OpenMP)指示詞。

如需詳細資訊,請參閱 2.3 parallel 建構

範例

下列範例會示範如何設定執行緒數目,以及定義在平行區域。 預設情況下,執行緒的數目等於電腦上的邏輯處理器數目。 比方說,如果您已經有一個已啟用超執行緒的實體處理器的電腦時,會有兩個邏輯處理器,因此,兩個執行緒。

// omp_parallel.cpp
// compile with: /openmp 
#include <stdio.h>
#include <omp.h>

int main() {
   #pragma omp parallel num_threads(4)
   {
      int i = omp_get_thread_num();
      printf_s("Hello from thread %d\n", i);
   }
}
  

註解

請注意,輸出的順序可能會有所不同不同的電腦。

請參閱

參考

OpenMP 指示詞