Lập trình Go 22/09/2026 6 phút

Go memory model và happens-before: vì sao data race là hành vi không xác định, không phải giá trị cũ

Go memory model định nghĩa khi nào một goroutine nhìn thấy ghi của goroutine khác qua quan hệ happens-before. Đo thật: race detector bắt 2 data race, channel sửa được, và chi phí thiết lập happens-before — mutex 1,5 ns, channel 14,5 ns. Năm quy tắc happens-before. Go 1.23.