python中的守護執行緒

2021-09-02 00:20:36 字數 1460 閱讀 9283

守護執行緒的作用是什麼?用兩段**來說明

**段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 "主線程執行完畢"

此時當主線程執行完成後,就會立馬乾掉子執行緒

python中的守護執行緒

什麼是守護執行緒 在後台執行,為其他執行緒提供服務的執行緒成為守護執行緒。為什麼要引入守護執行緒 thread模組不支援守護執行緒的概念,當主線程退出時,所有的子執行緒都將終止,不管它們是否仍在工作,如果你不希望發生這種行為,就要引入守護執行緒的概念。守護執行緒的呼叫格式 thread.setdae...

python中的守護執行緒

什麼是守護執行緒 在後台執行,為其他執行緒提供服務的執行緒成為守護執行緒。為什麼要引入守護執行緒 thread模組不支援守護執行緒的概念,當主線程退出時,所有的子執行緒都將終止,不管它們是否仍在工作,如果你不希望發生這種行為,就要引入守護執行緒的概念。守護執行緒的呼叫格式 thread.setdae...

Python程式中的執行緒操作 守護執行緒

無論是程序還是執行緒,都遵循 守護xx會等待主xx執行完畢後銷毀。需要強調的是 執行完畢並非終止執行。對主程序來說,執行完畢指的是主程序 執行完畢 對主線程來說,執行完畢指的是主線程所在的程序內所有非守護執行緒統統執行完畢,主線程才算執行完畢。1.1詳細解釋 主程序在其 結束後就已經算執行完畢了 守...