все Python 3threadingфункция
threading.enumerate()
сведения о потоках
Список всех живых объектов Thread, включая главный, демонические и фиктивные; ещё не запущенных и уже завершённых в нём нет.
Синтаксис
threading.enumerate()
Имя совпадает со встроенной enumerate(), и from threading import * её перекрывает: после этого for i, x in enumerate(items) падает с TypeError — пишите threading.enumerate(). Возвращается копия-снимок: менять её безопасно, но к моменту использования она уже может устареть. Удобно в отладке «почему программа не завершается»: ищите в списке недемонические потоки, кроме главного.
Примеры
import threading
stop = threading.Event()
t = threading.Thread(target=stop.wait, name='waiter')
print([th.name for th in threading.enumerate()]) # → ['MainThread']
t.start()
print(sorted(th.name for th in threading.enumerate())) # → ['MainThread', 'waiter']
stop.set()
t.join()
from threading import *
try:
for i, x in enumerate('ab'):
pass
except TypeError as e:
print(e) # → enumerate() takes 0 positional arguments but 1 was given
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности