Bạn có nghĩa là đó là một cây quá trình và trong các bong bóng là giá trị của x
? Thế thì không, không đúng.
Khi trẻ được sinh ra, nó sẽ có một bản sao chính xác của phụ huynh ...vì vậy hãy "in" một số giá trị vì vậy chúng tôi có thể thấy trạng thái của sự vật (Tôi makeing lên PID cho tất cả mọi thứ)
Khi chúng tôi bắt đầu, nó chỉ là phụ huynh:
parent (11174) x = 0, i = 0
Sau đó, chúng tôi nhấn fork()
, bây giờ chúng tôi có hai quá trình:
+--parent (11174) x = 0, i = 0
|
+->child1 (11175) x = 0, i = 0
Tiếp toán:
parent (11174) x = 5, i = 0
child1 (11175) x = 5, i = 0
Wh en vòng lặp chúng tôi trở lại, tôi của chúng tôi sẽ được tăng lên, và mỗi quá trình bây giờ chạy vòng lặp và truy cập 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
Bây giờ tất cả mọi người chạm toán một lần nữa:
parent (11174) x = 10, i = 1
child2 (11176) x = 10, i = 1
child1 (11175) x = 10, i = 1
child (11177) x = 10, i = 1
Cuối cùng tất cả mọi người chạm vòng lặp và gia số i
vi phạm. Vì vậy, kết quả cuối cùng của bạn là:
parent (10)----->child1(10)---->child(10)
|
+----->child2(10)
Đó thậm chí sẽ không biên dịch. – geoffspear
Nó không hoàn toàn rõ ràng đồ thị của bạn có nghĩa là gì, nhưng giả sử (hướng) cạnh đại diện cho mối quan hệ quá trình cha-con và gốc là quá trình gốc, sau đó 5 phải là 10 vì mỗi trong số 4 tiến trình kết thúc tăng x bằng 5 hai lần . Dù sao, chính xác thì bạn đang cố gắng làm gì? – Celada
có. Gốc trong sơ đồ thể hiện quy trình gốc ban đầu và các cạnh được chỉ thị cho thấy mối quan hệ cha-con. Tất cả tôi muốn biết là Tổng số có bao nhiêu nút và liệu giá trị x trong các nút tương ứng có đúng hay không không cảm ơn. – starkk92