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


2.7.2.8 copyprivate

Copyprivate предложение обеспечивает механизм для использования закрытой переменной вещать значение из одного члена группы к другим участникам. Альтернативы использованию общей переменной для значения, когда защита ту общую переменную будет трудн (например, в рекурсии, требующих другой переменной на каждом уровне). copyprivate предложение может появляться только на Одинарный директива.

Синтаксис copyprivate предложение следующим образом:

copyprivate(variable-list)

Эффект copyprivate предложение переменных в его переменная-списке возникает после того, как выполнение блока, связанное с структурированного Одинарный конструкция и до потоков в рабочей группе будут иметь левый барьера в конце конструкции. Затем в других потоках в рабочей группе для каждой переменной список переменныхэта переменная будет указанной (если по назначению) со значением соответствующей переменной в потоке, который выполнялся блок разработки структурированный.

Ограничения copyprivate предложение следующим образом:

  • Переменная, определенная в copyprivate предложение не должен появляться в a private OR firstprivate для таких же предложение Одинарный директива.

  • Если набор узлов a Одинарный директива with a copyprivate предложение, обнаруженные в динамической экстенты параллельной области всех переменных, определенных в copyprivate предложение должно быть закрыто во включающем контексте.

  • Переменная, определенная в copyprivate предложение должно быть доступно только выраженный оператор присваивания копий.