Встречается на собеседованиях • сегодня

Что такое семафор

Семафор — это механизм синхронизации, управляющий доступом к общему ресурсу через счётчик. Позволяет ограничить количество потоков, одновременно работающих с ресурсом.

Типы семафоров:

  • Бинарный (0 или 1) — аналогичен Lock.
  • Счётный — задаёт максимальное число потоков.

Пример с Semaphore в Java:

java
import java.util.concurrent.Semaphore;

Semaphore semaphore = new Semaphore(3); // Макс. 3 потока

void accessResource() throws InterruptedException {
    semaphore.acquire(); // Захват разрешения
    try {
        // Критическая секция
    } finally {
        semaphore.release(); // Освобождение
    }
}

Отличие от Lock:
Семафор может разрешать доступ нескольким потокам, а Lock — только одному.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы