• 技术文章 >常见问题 >Python常见问题

    python什么是主线程

    (*-*)浩(*-*)浩2019-08-31 14:20:14原创3244
    Python主线程和子线程

    setDaemon(False)

    当一个进程启动之后,会默认产生一个主线程,因为线程是程序执行的最小单位,当设置多线程时,主线程会创建多个子线程,在Python中,默认情况下就是setDaemon(False),主线程执行完自己的任务以后,就退出了,此时子线程会继续执行自己的任务,直到自己的任务结束;

    案例

    import threading
    import time
    
    def thread():
        time.sleep(2)
        print('---子线程结束---')
    
    def main():
        t1 = threading.Thread(target=thread)
        t1.start()
        print('---主线程---结束')
    
    if __name__ == '__main__':
        main()

    执行结果

    ---主线程---结束
    ---子线程结束---

    setDaemon(True)

    当我们使用setDaemon(True)时,这是子线程为守护线程,主线程一旦执行结束,则全部子线程被强制终止。

    案例

    import threading
    import time
    
    def thread():
        time.sleep(2)
        print('---子线程结束---')
    
    def main():
        t1 = threading.Thread(target=thread)
        t1.setDaemon(True)  # 设置子线程守护主线程
        t1.start()
        print('---主线程结束---')
    
    if __name__ == '__main__':
        main()

    执行结果

    ---主线程结束---  # 只有主线程结束,子线程来不及执行就被强制结束
    专题推荐:python
    上一篇:mac如何卸载python3 下一篇:Python怎么做加法运算

    相关文章推荐

    • python判断是否是小数• python是免费的编程语言吗• python编程怎么样

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网