• 守护线程概念,实例


    '''
    一个主线程可以启动几个守护线程,为主线程服务
    守护线程为主线程服务,主线程退出,守护线程也自动强制跟着退出,不会执行完。
    之前的线程是用join等执行完了主线程才往下走,例如:其他线程对公共变量做累加
    如果不加join,主线程直接跑完了,跑完的时候打印公共变量结果,
    但此时程序还没结束,公共变量加完之后(其他线程执行完)程序结束。 如果有守护线程,那么程序退出不会等守护线程执行完毕 应用场景:socketserver为每个连接启动新线程,socketserver一停止 全部停止,不会等子线程结束,可以把子线程设为守护线程,方法t.setDemo(True)
    ''' import threading import time def run(n): time.sleep(3) print("task:",n) start_time = time.time() for i in range(50): t = threading.Thread(target=run, args=("t-{0}".format(i),)) t.setDaemon(True) # 把t变成守护线程 t.start() print("cost:", time.time()-start_time)
  • 相关阅读:
    面向对象(metaclass继承高级用法)
    建表和删表(sqlalchemy框架)
    单表操作
    认证,权限
    协程,twisted
    定制起始url(scrapy_redis)
    浅谈深度优先和广度优先(scrapy-redis)
    scrapy-redis(调度器Scheduler源码分析)
    scrapy-redis
    xpath
  • 原文地址:https://www.cnblogs.com/staff/p/9657359.html
Copyright © 2020-2023  润新知