为什么打印时间不会减少使用此程序中的进程?

时间:2013-11-02 23:19:23

标签: process printf tty

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

0 个答案:

没有答案