簡體   English   中英

使用fork()順序打印數組

[英]Printing an array in order with fork()

我試圖在fork的幫助下打印數組,其中每個元素將由單獨的子進程打印。

void printArray_fork(int *p_array, int length){
    int i;

    pid_t pid;
    for(i = 0; i<length;i++){
        /* Create children procs */
        pid = fork();
        if(pid==0){
            break;
        }
    }

    if(pid == 0) {
            printf( "My process ID : %d value: %d\n",getpid(),*(p_array + i));
    }
}

現在的問題是,我希望它也能保持秩序(無所謂升序或降序)。

在這里對代碼進行一些修改以按順序打印。

  /* Create children procs */
     pid = fork();
     wait();

如上所述,您所需要的只是使用等待下一個子進程的創建。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM