簡體   English   中英

貨叉程序輸出

[英]Fork Program Output

#include  <stdio.h>
#include  <string.h>
#include  <sys/types.h>

int main(){
    int i;
    for(i=0;i<2;i++){
        fork();
        printf("%d\n", i);
    }
    return(0);
}

我對fork的工作方式有些困惑,據我所知,fork復制了包括堆棧,堆,靜態數據和文本在內的內存。 我以為程序會返回:0 0 1 1 1 1但是我編譯並運行了程序,輸出如下:0 1 0 1 1 1為什么?

fork返回兩次的同時 ,即在同一時間

輸出將是隨機的,因為最終答案取決於在哪個時間完成哪個過程。

暫無
暫無

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

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