Python Glossary English

Python 3.0+queueпонятие

queue

модуль

Потокобезопасные очереди для обмена данными между потоками: FIFO, LIFO и очередь с приоритетом.

Синтаксис

import queue

queue нужен для обмена между потоками threading: put и get сами берут блокировку, и get без таймаута ждёт, пока в очереди что-то появится. Для обычной очереди в одном потоке быстрее collections.deque, для процессов — multiprocessing.Queue, для asyncio — asyncio.Queue. get_nowait на пустой очереди бросает queue.Empty. В Python 2 модуль назывался Queue.

Примеры

import queue, threading
q = queue.Queue()
threading.Thread(target=lambda: [q.put(i) for i in range(3)]).start()
print([q.get() for _ in range(3)])  # → [0, 1, 2]
q.get_nowait()  # → queue.Empty

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности