Python執行緒和程序join 理解

2021-10-03 23:05:25 字數 768 閱讀 7533

import threading

import time

def run():

time.sleep(2)

print('當前執行緒名字:', threading.current_thread().name)

time.sleep(2)

if __name__ == '__main__':

start_time = time.time()

print('主線程:', threading.current_thread().name)

thread_list =

for i in range(5):

t = threading.thread(target=run)

for t in thread_list:

# t.setdaemon(true)

t.start()

# t.join()

print('主線程結束')

print('用時:', time.time() - start_time)

主線程執行完成,子執行緒還會繼續執行完成,程式才結束

當t.setdaemon(true)啟動守護程序時,主線程執行完成,子執行緒還沒完成時,程式就會直接退出

顯然,預設情況下setdaemon為false

當使用t.join(),主線程一直等待子執行緒完成之後,自身才結束,程式退出

join的作用體現出來,主線程任務完成,進入阻塞狀態,等待其他子執行緒完成才終止,起到執行緒同步的效果!

python 守護程序執行緒,join

1.程序 守護程序隨著主程序的 結束而結束,注意是 主程序可能在等待其他的子程序 from multiprocessing import process def func while true time.sleep 0.2 print ok if name main p process target...

Python多執行緒 join

宣告 本文介紹介紹的是thread.threading的 join方法 join timeout none wait until the thread terminates.this blocks the calling thread until the thread whose join meth...

Daemon執行緒和Join執行緒

daemon執行緒稱為守護執行緒 非常喜歡這個名字 執行緒一旦被設定為守護執行緒,當非守護執行緒結束,守護執行緒即使沒有執行完,也必須隨之全部結束。例如我們曾經玩兒過的坦克大戰,一旦守護的老巢完蛋了,其它守護坦克沒死也要結束。daemon執行緒的實質作用是為主執行緒其他執行緒的執行提供服務。user...