1
我有一個問題試圖殺死或停止在Python中的線程,因爲沒有任何官方API我試圖找到一種方法來停止指定的線程而不殺死其他人。停止或殺死Python線程
每次我啓動一個線程我給它一個ID
t = threading.Thread(name=slug_ID, target=function)
現在在主線程中有可能用戶要求停止並刪除線程。由於我啓動了不同的線程,每個線程都有自己的slug_ID。
for thread in threading.enumerate(): if (thread.getName()==slug_ID)): #thread.kill()
我想立即殺死線程,我已搜索周圍,我發現了兩個可能性:
- 屬性/標誌:由於線程我騎自行車可以檢查標記是否已被標記並返回,不幸的是線程現在正在不斷地循環,所以例如如果線程正在休眠,那麼將不會立即死亡,而是僅僅檢查標記被檢查的那部分代碼線程將會死亡
- 信號:當我在主線程上啓動事件時,線程會捕獲事件並優雅地退出,不幸的是我應該創建自定義信號以僅停止我想要殺死的特定線程,像這樣:
try: while True: thread_do_stuff() except Custom_signal: #exitThread
的問題是,我不知道如何箱和捕捉定製的信號,如何任何想法,我可以解決這個問題?