Найти - Пользователи
Полная версия: Не вызывается поток
Начало » Python для новичков » Не вызывается поток
1
Serbis
Код
class ClockThread(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
self.daemon = True
print "def __init__"
def run(self):
print "def run"
t = ClockThread()
t.start()
print t.isAlive()
Вывод
>> def_init__
>> True
Что я делаю не так. По идее должен быть вызван метод run(), но он не вызывается, хотя asAlive выводит True, т.е. показывает что он якобы был вызван. В чем тут проблема?
Soteric
Я подозреваю, поток не успевает запуститься. То есть он Alive, но метод run еще не вызван. А так как это поток-демон, то по завершению основного потока он тоже завершается.
Serbis
Так оно и есть, поставил while 1 в конце и все получилось. Но вот только непонятно как быть в том случает если например корневой поток закончил свою работу, а дочерний еще нет, и это повлечет критические последствия. Как проверить статус выполнения дочернего процесса?
Ed
t.join() ?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB