Python Glossary English

Python 3.2+Исключенияисключение

threading.BrokenBarrierError

модульные исключения

Barrier сломан (сброшен/таймаут), пока поток ждал на нём.

Синтаксис

raise threading.BrokenBarrierError

Главная деталь: если хотя бы один поток вышел из wait() по таймауту, барьер ломается для всех — исключение получат и остальные участники, а не только опоздавший. Тот же эффект даёт явный abort(), которым намеренно разблокируют застрявшие потоки. Вернуть барьер в строй можно только через reset(), причём в момент, когда на нём никто не ждёт.

Примеры

import threading
try:
    raise threading.BrokenBarrierError
except threading.BrokenBarrierError as e:
    print(type(e).__name__)   # → BrokenBarrierError

См. также

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