一个线程只能有一个进程,一个进程里面可以包括多个线程。
python在执行的线程是主线程。
大部分计算机中的应用程序的执行,一般都是并发执行机制的多任务处理机制
并发就是 同时接到多个任务,同时执行多个任务,但是在某一个时间段只执行一个任务
cpython官方解释器内置gil 全局解释器锁 同一时间只能执行一个线程
对于新手来说 一般使用 threading模块
join:线程的 join 状态是独占模式,当前线程独占 CPU 运行单元,
必须等待当前线程执行完成或者超时之后,才能运行其他线程
python 中提供了两种线程锁的操作
同步锁/互斥锁:Lock
可重用锁:RLock
锁的操作主要是获取锁和释放锁两种
acquire() 获取锁,上锁,锁定
release() 释放锁,开锁,解锁
线程锁固然功能强大,可以管理多个线程之间的共享数据问题
但是同时它的强大也带来了比较纠结的问题,需要开发人员对于锁定的数据有一个良好的认
知,否则特别容易造成死锁的现象
碰到死锁并不是程序出错 可以尝试使用 可重用锁