小弟日前在測試一個結構,主程式搭配兩個子執行緒,我給他們代號分別為子執行緒1和子執行緒2,想請問一下,因為目的需求,我想要當子執行緒1,因異常失敗時,關閉所有線程,和主程式,請問這有可能實現嗎?我查了資料,大多似乎都是在討論主程式運行結束後,如何關閉所有線程。我的google能力真的太差= = ,因為花了太多時間,都沒能找到答案,所以才想請教一下有經驗的大大,能否分享經驗。無論如何,感謝大大的賞臉閱讀!!
def work1():
do_something
thread1= threading.Thread(target=work1)
thread1.start()
def work2():
do_something
thread2= threading.Thread(target=work2)
thread2.start()
執行主程式...
這是我目前理想中的架構,請問有可能實現嗎?
def work1():
do_something
thread1= threading.Thread(target=work1)
def work2():
do_something
thread2= threading.Thread(target=work2)
主程式...
def main():
try:
thread1.start()
thread2.start()
執行主程式...
except:
關閉所有程序
if __name__ == '__main__':
main()
補充後續解決方式:
最後使用os._exit()終止所有程序了,感覺不是很好的方法,但我想要的效果有實現。
期待其他人有更好的方式可以分享一下。
os._exit()