Sobes.tech
Junior — Middle

Çox ipli proqramlaşdırmada qarşılıqlı istisna mexanizmi (Mutex) nə üçün istifadə olunur?

sobes.tech Süni İntellekt

AI-dan cavab

Çox iş parçacıklı proqramlaşdırmada (multithreading) qarşılıqlı istisna mexanizmi (Mutex) ümumi resurslara və ya kritik kod bölmələrinə bir neçə iş parçacığının eyni vaxtda girişini qarşısını almaq üçün istifadə olunur. Bu, yarış şəraitlərinin, məlumatların pozulmasının qarşısını almağa və proqramın düzgün işləməsini təmin etməyə kömək edir.

Go-da bunun üçün tez-tez sync.Mutex istifadə olunur:

var mu sync.Mutex
var counter int

func increment() {
    mu.Lock()           // mutexi kilidlə
    counter++           // kritik bölmə
    mu.Unlock()         // mutexi sərbəst burax
}

Beləliklə, yalnız bir iş parçacığı LockUnlock arasındakı kodu eyni vaxtda icra edə bilər.