Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 12, 2009 13:29:39

gimp
От:
Зарегистрирован: 2009-05-22
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

убить поток threading.Thread

есть процесс, который периодически выполняет какое-то действие. между этими действиями стоит задержка time.sleep(5)
сейчас поток останавливается через self._checkNumberStatus=False

как можно прервать поток, кроме метода выше?

...
# поток
def checkNumberThread(self):
self.checkNumberMsg = 'process''
#
while(self._checkNumberStatus):
time.sleep(5)
# еще код

self.checkNumberMsg = 'ok'
return

#
# Проверка номера
def checkNumberStart(self):
# запуск потока
self.checkNumber = threading.Thread(target=self.checkNumberThread, name="checkNumberThread")
self.checkNumber.start()
return
Спасибо.



Офлайн

#2 Ноя. 12, 2009 13:57:36

goblin_maks
От:
Зарегистрирован: 2008-12-10
Сообщения: 110
Репутация: +  0  -
Профиль   Отправить e-mail  

убить поток threading.Thread

никак..еще на системном уровне можно(http://python.su/forum/viewtopic.php?id=4607), но это очень плохо и косяков еще больше будет..бообщем надо заставить поток завершиться самостоятельно..



Отредактировано (Ноя. 12, 2009 14:01:03)

Офлайн

#3 Ноя. 12, 2009 15:06:07

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

убить поток threading.Thread

А зачем его прерывать? Т.е. что происходит, что нужно прервать поток.
Может быть использовать threading.Event, threading.Timer …



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version