1

我正在使用进程在 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);
}
4

0 回答 0