Я использую thread в моем приложении для python.Как остановить поток в python
всякий раз, когда я нажимаю кнопку обновления, я вызываю функцию с помощью потока, когда функция вызывалась, внутри основной функции будет другая функция.
что я хочу, когда заканчивается дочерняя функция. Я хочу, чтобы поток был убит или остановлен без закрытия приложения или ctrl + c.
я начал нить, как этот
def on_refresh_mouseClick(self,event):
thread.start_new_thread(self.readalways,())
в «readalways» функции я использую в то время как цикл, в этом цикле в то время, когда условие удовлетворяет он будет вызывать функцию continuousread(). проверить это:
def readalways(self):
while 1:
cardid = self.parent.uhf.readTagId()
print "the tag id is",cardid
self.status = self.parent.db.checktagid(cardid)
if len(self.status) != 0:
break
print "the value is",self.status[0]['id']
self.a = self.status[0]['id']
self.continuesread()
def continuesread(self):
.......
.......
после этого continuesread функции чтения значения, которые в потоке должны быть очищены.
Потому что, если я снова нажму кнопку обновления, начнется новый поток, но некоторые из значений будут получены из старого потока.
, поэтому я хочу, чтобы убить старую нить, когда он завершает continuesread функцию
Насколько я понимаю вас правильно, если вы хотите закрыть основное приложение после того, как ваш поток был убит? Если это так, вы можете использовать sys.exit(), но это зависит от того, что использует ваше основное приложение. –