Junior — Middle
A cosa serve il meccanismo di mutua esclusione (Mutex) nella programmazione multithread?
sobes.tech AI
Risposta dell'AI
Механизм взаимного исключения (Mutex) в многопоточном программировании используется для предотвращения одновременного доступа нескольких потоков к общим ресурсам или критическим секциям кода. Это позволяет избежать состояний гонки, повреждения данных и обеспечивает корректность работы программы.
В Go для этого часто используют sync.Mutex:
var mu sync.Mutex
var counter int
func increment() {
mu.Lock() // захват мьютекса
counter++ // критическая секция
mu.Unlock() // освобождение мьютекса
}
Таким образом, только один поток может выполнять код между Lock и Unlock одновременно.