Встречается на собеседованиях • сегодня
Зачем нужен семафор в Python
Семафор в Python используется для контроля доступа к общему ресурсу в многопоточной или многопроцессорной среде. Он ограничивает количество потоков/процессов, которые могут одновременно работать с ресурсом.
Основные особенности:
- Счетчик семафора уменьшается при
acquire()и увеличивается приrelease() - Если счетчик = 0, поток блокируется до освобождения
- Полезен для ограничения параллельных соединений, доступа к API и т.д.
Пример с threading.Semaphore:
python
import threading
semaphore = threading.Semaphore(3) # Макс 3 потока одновременно
def worker():
with semaphore:
print(f"{threading.current_thread().name} работает")
# Критическая секция
threads = [threading.Thread(target=worker) for _ in range(10)]
for t in threads:
t.start()
for t in threads:
t.join()В отличие от Lock, семафор позволяет нескольким потокам работать одновременно, но в ограниченном количестве.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы