Sobes.tech
Junior — Middle

Ի՞նչ նպատակով է օգտագործվում փոխադարձ բացառման (Mutex) մեխանիզմը բազմատող ծրագրավորման մեջ։

sobes.tech AI

Պատասխան AI-ից

Кооперативи муқобили муоширати (Mutex) дар барномаи бисёрсоҳавӣ барои пешгирии дастрасии ҳамзамон ба захираҳои умумӣ ё қисмҳои критикии коди истифода мешавад. Ин кӯмак мекунад, ки ҳолатҳои рақобат, вайроншавии маълумот пешгирӣ шаванд ва коркарди барнома дуруст анҷом дода шавад.

Дар Go, барои ин, аксар вақт sync.Mutex истифода мешавад:

var mu sync.Mutex
var counter int

func increment() {
    mu.Lock()           // бастани mutex
    counter++           // қисмати критикӣ
    mu.Unlock()         // озод кардани mutex
}

Бинобар ин, танҳо як сӯрохи метавонад кодро байни Lock ва Unlock дар як вақт иҷро кунад.