Sobes.tech
Junior — Middle

Vai mutex ir pavedienu sinhronizācijas rīks?

sobes.tech AI

Atbilde no AI

Jā, mutex (savstarpēja izslēgšana) ir sinhronizācijas rīks pavedieniem. Go valodā tas ir struktūra sync.Mutex, kas ļauj ierobežot vienlaicīgu piekļuvi koplietotiem resursiem un novērst sacensību stāvokļus. Kad viens pavediens (gorutīna) iegūst mutex, citi, kas mēģina to iegūt, tiek bloķēti līdz tas tiek atbrīvots.

Mutex lietošanas piemērs Go valodā:

var mu sync.Mutex
var counter int

func increment() {
    mu.Lock()           // iegūt mutex
    defer mu.Unlock()   // atbrīvot mutex
    counter++
}