Junior — Middle
Коя категория многозадачност принадлежи към механизмите за блокиране, използващи mutexи?
sobes.tech AI
Отговор от AI
Механизмите за блокиране, използващи mutex-и, принадлежат към кооперативната многозадачност или към синхронизацията на нишки в конкурентна среда.
В контекста на Go и многозадачността, mutex-ите осигуряват взаимно изключване (mutual exclusion), позволявайки само на една нишка (goroutine) да получи достъп до критичната секция едновременно.
Това не е предварителна (preemptive) многозадачност, а по-скоро механизъм за синхронизация за координиране на работата на паралелни задачи, предотвратяващ гонки на данни и осигуряващ коректност.
Пример за използване на mutex в Go:
var mu sync.Mutex
var counter int
func increment() {
mu.Lock()
defer mu.Unlock()
counter++
}