Как определяется порядок выполнения итераций в распараллеливаемых циклах?
Порядок
выполнения итераций в распараллеливаемых
циклах не фиксирован: в зависимости
от состояния среды выполнения очередность
выполнения итераций может меняться.
Если
для ряда действий в цикле необходимо
сохранить первичный порядок вычислений,
который соответствует последовательному
выполнению итераций в последовательной
программе, то желаемого результата
можно добиться при помощи директивы ordered.
При этом для директивы for должен
быть указан параметр ordered.
Важно
помнить, что директива ordered может
быть применена в теле цикла только один
раз.