python中的守護執行緒
阿新 • • 發佈:2018-11-27
守護執行緒的作用是什麼?用兩段程式碼來說明
程式碼段1:
# -*- coding: utf-8 -*- import threading import time def send_message(mes): print "before send message" time.sleep(2) print "after send message" def get_message(mes): print "before get message" time.sleep(2) print "after get message" if __name__ == "__main__": thread1 = threading.Thread(target=send_message, args=("",)) thread2 = threading.Thread(target=get_message, args=("",)) thread1.start() thread2.start() print "主執行緒執行完畢"
當我執行此程式碼的時候,輸出結果如下:而且很明顯是在主執行緒執行完畢後,停留了兩秒,程式才終止的。
那麼如果想在主執行緒執行完成後,馬上就將子執行緒幹掉該如何做呢?請看如下程式碼
# -*- coding: utf-8 -*- import threading import time def send_message(mes): print "before send message" time.sleep(2) print "after send message" def get_message(mes): print "before get message" time.sleep(2) print "after get message" if __name__ == "__main__": thread1 = threading.Thread(target=send_message, args=("",)) thread2 = threading.Thread(target=get_message, args=("",)) thread1.setDaemon(True) thread2.setDaemon(True) thread1.start() thread2.start() print "主執行緒執行完畢"
此時當主執行緒執行完成後,就會立馬乾掉子執行緒