Python Glossary English

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

threading.Thread.isAlive()

удалено

Старое имя метода Thread.is_alive(): работает ли ещё поток. Удалено в Python 3.9 — используйте is_alive().

Синтаксис

t.isAlive()  # до 3.9

Имя в стиле camelCase осталось от первых версий threading, скопированных с Java. С Python 2.6 у метода есть имя по PEP 8 — is_alive(); старое в 3.8 объявили устаревшим, а в 3.9 убрали. Как переписать: t.isAlive() → t.is_alive(). Поведение то же: True от start() до конца run(). Заодно проверьте соседние старые имена: getName()/setName() заменяются атрибутом t.name, isDaemon()/setDaemon() — атрибутом t.daemon.

Примеры

# Python 3.9+
import threading
t = threading.Thread(target=lambda: None)
try:
    t.isAlive()
except AttributeError as e:
    print(type(e).__name__)  # → AttributeError
# Python 3.9+
import threading
t = threading.Thread(target=lambda: None)
print(t.is_alive())  # → False — ещё не запущен
t.start()
t.join()
print(t.is_alive())  # → False — уже завершился
import threading
t = threading.Thread(target=lambda: None)
t.start()
t.join()
print(t.isAlive())  # → False

См. также

Частые ошибки

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