Udostępnij za pośrednictwem


2.9 Dyrektywa zagnieżdżania

Zagnieżdżanie dynamiczne dyrektyw muszą stosować się do następujących zasad:

  • A równolegle dyrektywa dynamicznie wewnątrz innego równolegle logicznie ustanawia nowy zespół, który składa się z bieżącym wątkiem, chyba że zagnieżdżone równoległości jest włączona.

  • dla, sekcje, i pojedynczego dyrektyw, które wiążą się do tej samej równolegle nie mogą być zagnieżdżone wewnątrz siebie nawzajem.

  • krytyczne nie mogą być zagnieżdżone wewnątrz siebie dyrektyw o tej samej nazwie.Należy zauważyć, że ograniczenie to nie jest wystarczające, aby zapobiec zakleszczenia.

  • dla, sekcje, i pojedynczego dyrektyw nie są dozwolone w dynamiczny zakres krytyczny, uporządkowane, i wzorca regionów, jeżeli dyrektyw bind do tej samej równolegle jako regionów.

  • bariery dyrektyw nie są dozwolone w dynamiczny zakres dla, uporządkowane, sekcje, pojedynczego, wzorca, i krytyczny regionów, jeżeli dyrektyw bind do tej samej równolegle jako regionów.

  • wzorca dyrektyw nie są dozwolone w dynamiczny zakres dla, sekcje, i pojedynczego dyrektyw Jeśli wzorca dyrektyw bind do tej samej równolegle jako podziału pracy dyrektyw.

  • uporządkowane dyrektyw nie są dozwolone w dynamiczny zakres krytyczny regionów, jeżeli dyrektyw bind do tej samej równolegle jako regionów.

  • Wykonane poza regionem równoległych również dopuszcza się żadnych dyrektywy, która jest dozwolone, gdy wykonywane dynamicznie wewnątrz regionu równolegle.Po wykonaniu dynamicznie, poza regionem równolegle z określonych przez użytkownika, dyrektywy jest wykonywany przez zespół złożony z głównego wątku.