fork()함수요~
소라
2023.04.01
운영체제 공부중입니다 ^^
fork()함수에 대해서요^^
아래에 적겠습니다~~!!
안녕하세요 ^^ fork() 함수에 대해서 질문드립니다 ^^x=10000;
y=fork();
if(y==0){
x=x+10000;
printf(child:%d, x);
}
else{
sleep(5);
x=x-10000;
printf(parent:%d, x);
wait(&status);
} 다음과 같은 함수가 있습니다.
fork() 함수 시점부터 프로세스 2개가 되고, 부모프로세스랑 자식프로세스
부모프로세스일때와 자식프로세스 일때 각각 x값을 가지고 계산하죠.
즉 , 부모프로세스에 x값 한개랑 자식프로세스에 x값 한개
그런데 sleep 함수가 부모프로세스에 있으니 위 소스에선fork()
↙ ↘
부모process 자식process
x=x+10000 x=x-10000
결과:x = 20000 x = 0라고 설명을 했는데, 잘 이해가 가지 않습니다..fork()의 트리구조도 그려야 하는데 잘 못그리겠네요 ㅠㅠ