美文网首页
python中主线程结束了,子线程还在执行吗?

python中主线程结束了,子线程还在执行吗?

作者: NeXTCDO | 来源:发表于2017-07-27 08:31 被阅读1427次
import time
def countdown(n):
    while n>0:
        with open('thread_log.log','a') as f:
            f.write('T-minus'+str(n))
        n -=1
        time.sleep(5)

from threading import Thread
t= Thread(target=countdown, args=(10,),daemon=True)

t.start()
# t.join()
time.sleep(20)

if t.is_alive():
    print('running')
else:
    print('completed')

着重讲下daemon这个参数,他是python3中Thread才有的参数。虽然他可以让线程后台继续运行,但是如果主线程结束的话,他是不会执行的。本例中执行结果是在thread_log.log文件中写入T-minus10T-minus9T-minus8T-minus7说明主线程结束,子线程也就销毁了。

相关文章

  • python中主线程结束了,子线程还在执行吗?

    着重讲下daemon这个参数,他是python3中Thread才有的参数。虽然他可以让线程后台继续运行,但是如果主...

  • 多线程爬虫之糗事百科(二)

    在python3中,主线程结束,子线程不会结束 在python3中,主进程结束,子进程不会结束 为了能够让主线程回...

  • 10.线程间通信:join

    假设有这样一个场景,在主线程中我们启动了一个子线程做复杂运算,因为比较耗时,主线程会先于子线程结束。现在我们想在主...

  • 线程join方法

    某些情况、主线程中启用了子线程,如果子线程需要大量的算法,需要运算的时间较长,主线程可能会在子线程结束前就结束,这...

  • 多线程练习

    一个进程结束的前提为进程内所有线程结束。结束子线程-->让子线程中的任务结束(就是让run方法结束:结束循环多用添...

  • 17,线程4-Join方法

    在某些情况下,主线程创建并启动了子线程,如果子线程中需要进行大量的耗时运算,主线程往往将早于子线程结束之前结束,如...

  • GCD延时

    在主线程中延迟执行某动作,不会卡主主线程,不影响后面的东做执行 在子线程中执行某动作,不会卡主整个线程

  • 方法join的使用

    背景:在很多情况下,主线程创建并启动子线程,如果子线程中要进行大量的耗时运算,主线程往往将早于子线程结束之前结束。...

  • join

    在很多情况下,主线程创建并启动子线程,如果子线程中要进行大量的耗时运算,主线程往往将早于子线程结束之前结束。这时,...

  • AsyncTask 完全解析

    AsyncTask 完全解析 引言 我们知道,在 Android 中,UI 线程不能执行耗时操作;在子线程中不能执...

网友评论

      本文标题:python中主线程结束了,子线程还在执行吗?

      本文链接:https://www.haomeiwen.com/subject/yzglcxtx.html