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