我正在使用进程在 CentOS 上用 C 语言编写程序,并试图在尽可能短的时间内在两个不同的终端中打印从 0 到 1000000 的数字。但是与在单个终端上打印相比,时间增加了两倍。在单个终端打印需要 6 或 7 秒,两个终端需要 12-13 秒。发生这种情况有什么原因吗?
main(int argc,char *argv[])
{
pid_t pid;
time_t t1,t2;
time(&t1);
pid=fork();
if(pid==0)
{
int x;
FILE *da1=fopen("/dev/pts/2","w+");
for(x=0;x<=1000000;x++)
fprintf(da1,"%d ",x);
exit(0);
}
else
{
int y;
FILE *da2=fopen("/dev/pts/3","w+");
for(y=0;y<=1000000;y++)
fprintf(da2,"%d ",y);
}
wait(0);
time(&t2);
printf("\nTime %i\n",t2-t1);
}