Является ли одна строка команды fprintf потокобезопасной?

Я использую openmp, и моя программа выглядит следующим образом:

\#pragma omp parallel for

for(x = 0, y = 0, x < 5, x++, y++)

     function(x, y, fp);

void function(int x, int y, FILE* fp);
{
   fprintf(fp, "(%d, %d)\n", x y);
}

Я хочу, чтобы содержимое файла как

(0, 0)
(2, 2)
(1, 1)
(3, 3)
(4, 4)

Порядок не имеет значения, но координаты x, y должны быть в порядке, т.е. программа не должна генерировать что-то вроде (2, 3 ). Всегда ли такое поведение гарантировано? Я использую компилятор gcc для Linux.

5
задан MByD 12 May 2012 в 18:05
поделиться