To znaczy, że to drzewo proces i pęcherzyków to jest wartość x
? Wtedy nie, to nie jest poprawne.
Po zrodzeniu dziecka otrzymuje dokładną kopię rodzica ...więc niech „print” pewne wartości, dzięki czemu możemy zobaczyć stan rzeczy (jestem makeing się PID za wszystko)
Kiedy zaczynamy, to tylko rodzic:
parent (11174) x = 0, i = 0
Potem trafiliśmy fork()
teraz mamy dwa procesy:
+--parent (11174) x = 0, i = 0
|
+->child1 (11175) x = 0, i = 0
Następny matematyka:
parent (11174) x = 5, i = 0
child1 (11175) x = 5, i = 0
Wh pl pętli z powrotem w górę, nasze I będzie zwiększany, a każdy proces prowadzi teraz pętlę i uderza fork()
:
+--parent (11174) x = 5, i = 1
|
+->child2 (11176) x = 5, i = 1
+--child1 (11175) x = 5, i = 1
|
+->child (11177) x = 5, i = 1
Teraz każdy uderza matematyki jeszcze:
parent (11174) x = 10, i = 1
child2 (11176) x = 10, i = 1
child1 (11175) x = 10, i = 1
child (11177) x = 10, i = 1
Wreszcie każdy natrafi pętlę i inkrementacja i
zerwanie z nim. Więc wynik końcowy jest:
parent (10)----->child1(10)---->child(10)
|
+----->child2(10)
To nawet nie skompilować. – geoffspear
Nie jest całkiem jasne, co oznacza twój wykres, ale zakładając (ukierunkowane) krawędzie reprezentują relacje między rodzicem a dzieckiem, a korzeń jest procesem pierwotnym, to 5 powinno być 10, ponieważ każdy z 4 procesów kończy się zwiększaniem x o 5 razy dwukrotnie . W każdym razie, co dokładnie próbujesz zrobić? – Celada
yes.Król na diagramie reprezentuje początkowy proces początkowy, a skierowane krawędzie pokazują relację rodzic-dziecko. Wszystko, co chcę wiedzieć, to: W sumie, ile formuje się węzłów i czy wartości x w odpowiednich węzłach są poprawne lub nie dzięki. – starkk92