python-多线程原理
一、并发原理
【1】一个CPU要同时处理多个线程,可以认为cpu在这几个线程中来回切换
【2】当执行速度很快的时候,可以理解为所有线程一起执行,可以认为逻辑上的并发,但是事实是在多个线程中来回处理
【3】并发:逻辑上具备同时处理多个任务的能力(事实上不是,只是无限区于并行)
【4】并行:物理上同一时刻执行多个任务的能力(真正意义上的一起执行)
二、进程与线程
【1】进程:类似运行一个软件,就开了一个进程(使用微信,则微信exe就是一个进程)
【2】线程:类似微信的发送聊天、微信的语音,都是线程,即一个进程当前在执行的事
【3】一个进程管理着多个线程,一个进程至少有一个线程
三、python中的并发和并型
【1】GIL:全局解释器锁,只允许 同一时间只允许1个线程进入CPU,所以cpython中没有并行,是并发