0
我在我的python卡應用程序中使用線程。如何停止python中的線程
每當我按下刷新按鈕,我使用線程調用一個函數,該函數被調用時,就會有另一個函數main函數裏面。
我想是每當孩子函數結束。我想在不關閉應用程序或ctrl + c的情況下殺死或停止線程。
我開始線程這樣
def on_refresh_mouseClick(self,event):
thread.start_new_thread(self.readalways,())
在「readalways」功能,我使用while循環中,只要條件滿足,雖然循環,它會調用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(),但這取決於你的主應用程序正在使用什麼。 –