多线程
1. 线程是最小的资源调度单位,在程序运行时默认只有一个线程,叫做主线程;同一个进程中的线程之间能够共享资源,适用于io密集型
2. 多线程的执行是无序的,由操作系统决定
3. 多线程并发操作,节省时间
4. 自定制多线程类 一般重写run方法,其中为业务逻辑
5. .start()开启子线程 .run() 只是单纯的运行主线程中的函数
6. 线程对于同一个资源的访问, 如果没有控制得当,就会对于同一资源的数据进行破坏,而且线程的运行结果不可
预料,这种现象叫做‘线程不安全’
7. 线程的状态: 创建 --启动--> 就绪 <--调度--> 运行 --> 死亡
↑满足条件 ↓等待条件
<--等待状态(阻塞)<--
threading
threading.Thread(target=func, args=(,)) 创建新线程
threading.current_thread() 获取当前线程
threading.enumerate() 枚举所有线程,返回线程列表
threading.active_count() 查看活跃的线程个数