Python Glossary English

Python 3.13+queueисключение

queue.ShutDown

исключения

Исключение, которое put() и get() поднимают после вызова shutdown() у очереди (Python 3.13+).

Синтаксис

q.shutdown(immediate=False); except queue.ShutDown: ...

После shutdown() новые put() сразу падают с ShutDown, а get() ещё отдаёт оставшиеся элементы и падает только на пустой очереди. С immediate=True очередь очищается сразу, и get() падает немедленно. Это штатный способ остановить потоки-потребители вместо элемента-маркера None.

Примеры

import queue
q = queue.Queue()
q.put(1)
q.shutdown()
print(q.get())  # → 1 — остаток ещё отдаётся
try:
    q.get()
except queue.ShutDown:
    print('ShutDown')  # → ShutDown

См. также

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