Поделиться через


single

Позволяет указать, что фрагмент кода должен выполняться в одном потоке, не обязательно главный поток.

#pragma omp single [clauses] 
{
   code_block  
}

Параметры

  • clause (необязательный параметр)
    Ноль или несколько предложений. Эти раздел " примечания " список предложений, поддерживаемых by Одинарный.

Заметки

Одинарный директива поддерживает следующие предложений OpenMP.

master директива позволяет указать, что фрагмент кода должен быть выполнен только на главном потоке.

Дополнительные сведения см. в разделе 2.4.3 Конструкция single.

Пример

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

int main() {
   #pragma omp parallel num_threads(2)
   {
      #pragma omp single
      // Only a single thread can read the input.
      printf_s("read input\n");
      
      // Multiple threads in the team compute the results.
      printf_s("compute results\n");

      #pragma omp single
      // Only a single thread can write the output.
      printf_s("write output\n");
    }
}
  

См. также

Ссылки

Директивы OpenMP