我正在使用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)的内容。这种行为是否始终得到保证?我正在Linux上使用gcc编译器。
write()
系统调用,这在 Posix 上是保证原子性的。 - Kerrek SB