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

    python什么是主线程

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

    setDaemon(False)

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

    案例

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    import threading

    import time

     

    def thread():

        time.sleep(2)

        print('---子线程结束---')

     

    def main():

        t1 = threading.Thread(target=thread)

        t1.start()

        print('---主线程---结束')

     

    if __name__ == '__main__':

        main()

    执行结果

    1

    2

    ---主线程---结束

    ---子线程结束---

    setDaemon(True)

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

    案例

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    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()

    执行结果

    1

    ---主线程结束---  # 只有主线程结束,子线程来不及执行就被强制结束

    专题推荐:python
    上一篇:mac如何卸载python3 下一篇:Python怎么做加法运算

    相关文章推荐

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

    全部评论我要评论

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

  • 取消发布评论
  • 

    Python学习网