06_多线程
1.线程概述
1.线程是实现多任务编程的一种方法,可以使用计算机多核资源,是计算机核心分配的最小单位,线程由代码段,数据段,和TCB(线程控制块)组成
2.线程又称为轻量级进程,在创建和删除时消耗的计算机资源小,理论上创建和销毁线程的消耗是创建和销毁进程消耗的二十分之一
3.一个进程中的所有线程共享进程的空间资源(空间,全局变量,分配的内存等),进程中每个线程有自己的特有属性,如指令集TID等
4.多线程程序的执行顺序是不确定的,主线程会等待所有的子线程结束后才结束
5.计算机开启的线程数量建议: CPU核数 * 5
2.threading模块语法概述
import threading t = thread.Thread() # 创建线程并返回线程对象 参数: target: 线程函数 args: 给线程函数的位置参数(类型为元组) kwargs: 给线程函数的字典传参(类型为字典) name: 给线程取名字(默认为Thread-1) t.start(): 启动线程 t.join(timeout): 回收线程 t.is_alive(): 查看线程状态 t.name: 查看线程名称 threading.currentThread(): 得到线程对象 t.setName(): 设置线程名称 t.daemon = True: 守护线程,默认为False主线程执行完毕不会影响分支线程的执行,True则表示主线程执行完毕其它线程也会终止 设置方法: t.daemon = True 或者 t.setDaemon(True) t.isDaemon(True): 判断daemon属性是 True or False