العودة إلى الدورة

الـ Mutexes: حماية الحالة المشتركة

لغة Go (Golang) للخدمات المصغرة السحابية (Cloud-Native Microservices)

الاستبعاد المتبادل (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 واحدة فقط يمكنها الوصول إلى القسم الحرج في المرة الواحدة.