الاستبعاد المتبادل (Mutual Exclusion)
إذا حاول اثنان من الـ Goroutines الكتابة في نفس الـ map في وقت واحد، فسيحدث خطأ (panic). استخدم Mutex لقفل الوصول.
go type Counter struct { mu sync.Mutex value int }
func (c *Counter) Inc() { c.mu.Lock() defer c.mu.Unlock() c.value++ }
هذا يضمن أن Goroutine واحدة فقط يمكنها الوصول إلى القسم الحرج في المرة الواحدة.