Python Glossary English

все Python 3threadingфункция

threading.active_count()

сведения о потоках

Число живых объектов Thread прямо сейчас, включая главный поток; то же, что len(threading.enumerate()).

Синтаксис

threading.active_count()

Главный поток тоже считается, поэтому в простой программе ответ 1, а не 0. Число — мгновенный снимок: потоки стартуют и завершаются, пока вы его читаете. Ждать конца работы циклом while active_count() > 1 плохо вдвойне — это занятое ожидание, и оно зависнет из-за чужих потоков, например из пула библиотеки. Ждите join() у своих потоков. activeCount() — устаревший псевдоним.

Примеры

import threading
print(threading.active_count())  # → 1
stop = threading.Event()
workers = [threading.Thread(target=stop.wait) for _ in range(3)]
for w in workers:
    w.start()
print(threading.active_count())  # → 4
stop.set()
for w in workers:
    w.join()

См. также

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