Sobes.tech
Junior — Middle

Milleks kasutatakse vastastikuse välistamise (Mutex) mehhanismi mitmetöötlusprogrammeerimises?

sobes.tech AI

Vastus AI-lt

Механизм взаимного исключения (Mutex) в многопоточном программировании используется для предотвращения одновременного доступа нескольких потоков к общим ресурсам или критическим секциям кода. Это позволяет избежать состояний гонки, повреждения данных и обеспечивает корректность работы программы.

В Go для этого часто используют sync.Mutex:

var mu sync.Mutex
var counter int

func increment() {
    mu.Lock()           // захват мьютекса
    counter++           // критическая секция
    mu.Unlock()         // освобождение мьютекса
}

Таким образом, только один поток может выполнять код между Lock и Unlock одновременно.