Junior — Middle
139
¿En qué se diferencia el uso de un semáforo de un mutex en la sincronización de hilos?
Empresas donde se preguntó
Respuesta de la IA
sobes.tech AI
Мьютекс (mutex) — это примитив синхронизации, который обеспечивает эксклюзивный доступ к ресурсу: в один момент времени только один поток может владеть мьютексом.
Семафор — более общий примитив, который позволяет ограничить количество потоков, одновременно получающих доступ к ресурсу. Значение семафора — это счетчик разрешений.
Основные отличия:
- Мьютекс — это семафор с максимальным значением 1.
- Мьютекс обеспечивает взаимное исключение, семафор — ограничение параллелизма.
Пример:
- Мьютекс используется для защиты критической секции, чтобы только один поток её выполнял.
- Семафор может использоваться для ограничения количества потоков, одновременно работающих с пулом соединений (например, максимум 5).
Таким образом, мьютекс — частный случай семафора с одним разрешением.