线程也称轻量级进程,是操作系统能够调度的最小单位,它被包含在进程之中,是进程中的实际运作单位,线程自身不拥有资源,只拥有一些在运行中必不可少的资源,但它可与同属一个进程的其他线程共享进程所拥有的全部资源。一个线程可以创建和撤销另一个线程,线程有就绪/阻塞/运行三种基本状态
python 多线程执行方式
1.获取GIL全局解释器锁
2.执行代码直到sleep或者python虚拟机将其挂起
2.释放GIL锁
python 中一个线程对应c语言中的一个线程,GIL使得同一个时刻只有一个线程在一个cpu上执行字节码,无法将多个线程映射到多个cpu上执行
GIL会根据执行的字节码行数及时间片释放GIL, GIL在遇到IO的操作时主动释放
网友评论