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Сообщить о неточности