Bài này thực sự dùng fork() nhưng đảm bảo thứ tự in xác định nhờ wait():
x từ stdin.fork() một con. Con in ra x * 2 rồi exit(0).wait(NULL) để chờ con kết thúc xong, rồi mới in x + 1.Vì cha luôn wait() trước khi in, dòng của con luôn xuất hiện trước dòng của cha → output xác định.
Khái niệm POSIX: wait(NULL) chặn tiến trình cha cho tới khi một con kết thúc, tránh được tình trạng chạy đua (race condition) về thứ tự in.
Ví dụ I/O: x = 5 → con in 10, sau đó cha in 6.
Một số nguyên x.
-1000000 <= x <= 1000000
Hai dòng: dòng 1 là x*2 (do con in), dòng 2 là x+1 (do cha in sau khi wait).
Ví dụ:
Đầu vào:
5
Đầu ra:
10
6
Giải thích:
Đang tải editor...