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