Встречается на собеседованиях • сегодня
Пользовался ли потокобезопасной очередью
Да, в Python для работы с потокобезопасными очередями используется модуль queue. В нём есть класс Queue, который реализует потокобезопасную FIFO-очередь.
Пример использования:
python
import threading
import queue
def worker(q):
while True:
item = q.get()
print(f"Обработка: {item}")
q.task_done()
q = queue.Queue()
threading.Thread(target=worker, args=(q,), daemon=True).start()
for i in range(5):
q.put(i)
q.join() # Ожидание завершения всех задач
text
Ключевые особенности:
- `Queue` автоматически блокирует операции при конкурентном доступе.
- Методы `put()` и `get()` потокобезопасны.
- `task_done()` и `join()` помогают синхронизировать завершение задач.
Для быстрой работы в многопоточной среде также можно использовать `collections.deque` с явной блокировкой (`threading.Lock`), но `queue.Queue` удобнее.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы