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

    #1、守护线程要注意的坑:下面代码只能打印出子线程开始,无法打印出子线程执行完毕,因为主线程在t.start()以后就结束了,
    #而子线程要睡眠1秒,所以子线程守护线程随着主线程的结束而结束了。
    from threading import Thread
    import time
    def func():
        print('子线程开始')
        time.sleep(1)
        print('子线程执行完毕')
    
    t = Thread(target=func)
    t.setDaemon(True)
    t.start()
    # 子线程开始
    
    #2、守护线程要注意的坑:关于join:
    from threading import Thread
    import time
    def func():
        print('子线程开始')
        time.sleep(1)
        print('子线程执行完毕')
    
    t = Thread(target=func)
    t.setDaemon(True)
    t.start()
    t1 = Thread(target=func)
    t1.start()
    t1.join() #主线程等待t1子线程的结束而结束,守护线程t等待主线程的结束而结束。
    # 子线程开始
    # 子线程开始
    # 子线程执行完毕
    # 子线程执行完毕
    
    #3、守护线程:守护线程随着主线程的结束而结束。
    from threading import Thread
    def func():
        while True:
            print('&')
    
    t = Thread(target=func)
    t.setDaemon(True) #守护线程要写在开始的前面。
    t.start()
    for i in range(10):
        print('*'*i)
  • 相关阅读:
    734. Sentence Similarity
    Rainbow Sort
    692. Top K Frequent Words
    347. Top K Frequent Elements
    12. Integer to Roman
    13. Roman to Integer
    109. Convert Sorted List to Binary Search Tree
    用表单写兴趣爱好的程序
    方法重载与方法重写的区别
    super和this的区别
  • 原文地址:https://www.cnblogs.com/python-daxiong/p/12142775.html
Copyright © 2011-2022 走看看