【Python高级编程011 ● 多任务编程 ● 线程之间共享全局变量】
---------Python基础编程---------
Author : AI菌
【内容讲解】
一、问题提出:假如我们就让主线程执行1秒钟,子线程就销毁不再执行,那怎么办呢? 我们可以设置守护主线程,守护主线程就是主线程退出子线程销毁不再执行。 二、设置守护主线程有两种方式: 1、threading.Thread(target=show_info, daemon=True) 2、线程对象.setDaemon(True)
【代码演示】
""" 一、问题提出:假如我们就让主线程执行1秒钟,子线程就销毁不再执行,那怎么办呢? 我们可以设置守护主线程,守护主线程就是主线程退出子线程销毁不再执行。 二、设置守护主线程有两种方式: 1、threading.Thread(target=show_info, daemon=True) 2、线程对象.setDaemon(True) """ # 创建一个子线程,这个子线程执行完大概需要2.5秒钟,现在让主线程执行1秒钟就退出程序 # 我们可以设置守护主线程,守护主线程就是主线程退出子线程销毁不再执行 import threading import time def task(): for i in range(10): print("任务执行中。。。") time.sleep(0.3) if __name__ == '__main__': # 创建子线程 # 1. daemon=True 表示守护主线程,主线程退出子线程销毁 # sub_thread = threading.Thread(target=task,daemon=True) # 2.setDaemon(True)表示守护主线程 sub_thread = threading.Thread(target=task) sub_thread.setDaemon(True) # 启动子线程执行任务 sub_thread.start() time.sleep(1) print("主线程over了!!!") # 默认情况下,主线程会等待所有的子线程执行完成以后主线程再退出 # 设置守护主线程后,主线程结束,子线程就停止执行了
【运行结果】
任务执行中。。。
任务执行中。。。
任务执行中。。。
任务执行中。。。
主线程over了!!!
【往期精彩】
▷【Python基础编程196 ● 读取文件的4种方式】
▷【Python基础编程197 ● 读取文件的4种方式】
▷【Python基础编程198 ● 读取文件的4种方式】
▷【Python基础编程199 ● Python怎么读/写很大的文件】
▷【Python基础编程200 ● 读取文件的4种方式】
▷【Python基础编程201 ● 读取文件的4种方式】
▷【Python基础编程202 ● 读取文件的4种方式】
▷【Python基础编程203 ● 读取文件的4种方式】
【加群交流】