59
printf("Значение n на нити: %d\n", n);
}
printf("n в последовательной области (конец): %d\n", n);
return 0;
}
В данном примере демонстрируется использование опции
private. В
последовательной области переменно n присвоено значение 1. Далее
порождается параллельная область, где
переменной n каждой нити
присваивается номер потока и выводится на экран. После выхода из
параллельной области значение n снова оказывается равным 1.
Для реализации механизма передачи данных между параллельными
потоками из одного параллельного структурного
блока программы в
другой, минуя промежуточный последовательный структурный блок в
OpenMP имеется специальная директива
threadprivate.
Достарыңызбен бөлісу: