threadingdaemon和non-daemon代码笔记

threading的daemon和non-daemon

看python主线程是如何等待

在福州等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站制作、做网站 网站设计制作按需开发,公司网站建设,企业网站建设,成都品牌网站建设,网络营销推广,外贸网站制作,福州网站建设费用合理。

import time
import threading

def foo(n):
    for i in range(n):
        print(i)
        time.sleep(1)

t1 = threading.Thread(target=foo, args=(10, ), daemon=True) # 尝试替换这里的10和下面20的顺序
t1.start()
t2 = threading.Thread(target=foo, args=(20, ), daemon=False)
t2.start()

time.sleep(2)
print('Main Thread Exiting')

daemon 应用场景

主线程退出,其他daemon线程的都会被杀死

import time
import threading

def bar():
    while True:
        time.sleep(1)
        print('bar')

def foo():
    print("t1's daemon = {}".format(threading.current_thread().isDaemon()))
    t2 = threading.Thread(target=bar)
    t2.start()
    print("t2's daemon = {}".format(t2.isDaemon()))
    t2.join()

t1 = threading.Thread(target=foo, daemon=True)
t1.start()

# t1.join() 如果想工作线程不能结束,取消掉这个注释
time.sleep(3)
print('Main Thread Exiting')

文章题目:threadingdaemon和non-daemon代码笔记
当前链接:http://scyanting.com/article/gjicjg.html