zoukankan      html  css  js  c++  java
  • Daemon 守护线程(27-11)

    t2.setDaemon(True)不再等待里面的sleep(5)。

    当设成setDaemon(True)这个线程就不等了。

      例子一:

    import threading
    from time import ctime, sleep

    def music(func):
      for i in range(2):
        print(func, ctime())      # 1 执行  # 5 执行
        sleep(1)
        print("end music", ctime())  # 4 执行  # 6 执行

    def move(func):
      for i in range(2):
        print(func, ctime())      # 2 执行
        sleep(5)
        print("end move", ctime())

     threads = []

     t1 = threading.Thread(target=music,args=("小苹果",))

      threads.append(t1)

      t2 = threading.Thread(target=move,args=("华尔街之狼",))

      threads.append(t2)

      if __name__ == "__main__":

        t2.setDaemon(True)

        for t in threads:

          t.start()

        print("程序执行结束", ctime())    # 3 执行

    程序运行结果:

    小苹果 Fri Sep  7 20:04:24 2018
    华尔街之狼 Fri Sep  7 20:04:24 2018
    程序执行结束 Fri Sep  7 20:04:24 2018
    end music Fri Sep  7 20:04:25 2018
    小苹果 Fri Sep  7 20:04:25 2018
    end music Fri Sep  7 20:04:26 2018
    

      ------------------------------------------------------------------------------------------------------

      例子二:

    t.setDaemon(True)谁也不等待
    import threading
    from time import ctime, sleep
    
    def music(func):
      for i in range(2):
        print(func, ctime())      # 1 执行  
        sleep(1)
        print("end music", ctime())  
    
    def move(func):
      for i in range(2):
        print(func, ctime())      # 2 执行
        sleep(5)
        print("end move", ctime())
     threads = []
    
     t1 = threading.Thread(target=music,args=("小苹果",))
    
      threads.append(t1)
    
      t2 = threading.Thread(target=move,args=("华尔街之狼",))
    
      threads.append(t2)
    
      if __name__ == "__main__":
        for t in threads:
          t.setDaemon(True)
          t.start()
        print("程序执行结束", ctime())    # 3 执行

    程序运行结果:

    小苹果 Fri Sep 7 20:18:31 2018
    华尔街之狼 Fri Sep 7 20:18:31 2018
    程序执行结束 Fri Sep 7 20:18:31 2018

  • 相关阅读:
    Selenium2+python自动化30-引入unittest框架【转载】
    GitHub上整理的一些工具
    git使用教程2-更新github上代码【转载】
    git使用教程1-本地代码上传到github【转载】
    Selenium2+python自动化46-js解决click失效问题【转载】
    linux_常用命令_2
    linux_磁盘体系
    linux_定时任务
    yum错误,Cannot find a valid baseurl for repo: base 和 No more mirrors to try
    linux批量添加10个用户并将其随机密码和用户名写入文件
  • 原文地址:https://www.cnblogs.com/uncle-kay/p/9607126.html
Copyright © 2011-2022 走看看