zoukankan      html  css  js  c++  java
  • python 守护线程

    一、基础概念

    1、守护线程:在主线程代码执行结束后,等待其它子线程执行结束,守护线程结束

    2、守护进程:随着主进程代码执行结束,守护进程结束

    3、主线程执行结束,它所在的进程执行结束

    4、主进程代码执行结束,主进程并没结束,等待其它子进程执行结束并回收资源

    二、示例

    # 守护线程
    import time
    from threading import Thread
    
    
    def test1():
        while 1:
            time.sleep(1)
            print('Hello, World')
    
    
    def test2(n):
        time.sleep(4)
        print(n)
    
    
    t1 = Thread(target=test1)
    t1.daemon = True        # 设置t1为守护线程
    t1.start()
    for i in range(3):
        t2 = Thread(target=test2, args=(i, ))
        t2.start()
    print('==========================')     # 到这里,主线程代码执行完毕,守护线程没有结束
    """
    结果:
    ==========================
    Hello, World
    Hello, World
    Hello, World
    1
    0
    Hello, World
    2
    """
    # 守护进程
    from multiprocessing import  Process
    
    
    def test1():
        while 1:
            print('Hello, world')
    
    
    def test2(n):
        print(n)
    
    
    if __name__ == '__main__':
        p1 = Process(target=test1)
        p1.daemon = True    # 设置p1为守护进程
        p1.start()
        for i in range(3):
            p2 = Process(target=test2, args=(i, ))
            p2.start()
        print('===============')        # 主进程代码执行结束,守护进程结束
    """
    结果:
    ===============
    0
    1
    2
    """
  • 相关阅读:
    C#基础
    C#基础
    Sqlserver数据库备份和还原
    C#基础
    Python3学习笔记4
    Python3学习笔记3
    调用接口Post xml和json数据的通用方法
    Python3学习笔记2
    Python3学习笔记1
    常见的PHP函数代码性能对比
  • 原文地址:https://www.cnblogs.com/wt7018/p/11068702.html
Copyright © 2011-2022 走看看