What is the potential risk of using parallel programming without proper synchronization?

4 phương ánCó lời giảiXuất hiện trong 1 bộ đề

A·B·C·DCác phương án trả lời

AIncreased memory usage.
BReduced network bandwidth.
CSimplified debugging.
Data races and inconsistent results.Đúng

Giải thích chi tiết

Đáp án đúng: D. Khi nhiều luồng cùng đọc và ghi lên một vùng dữ liệu chia sẻ mà không có cơ chế đồng bộ như lock, Monitor, Interlocked hay các bộ sưu tập concurrent, thì thứ tự thao tác trở nên bất định và sinh ra data race: kết quả sai lệch, thay đổi giữa các lần chạy và rất khó tái hiện khi gỡ lỗi. Đó là rủi ro nghiêm trọng nhất của lập trình song song. Tăng bộ nhớ (A) chỉ là chi phí phụ; giảm băng thông mạng (B) không liên quan; và gỡ lỗi trở nên KHÓ hơn chứ không đơn giản hơn nên C sai hẳn.

Xuất hiện trong các bộ đề