线程池
守护线程
会等待所有的非守护线程结束之后结束
守护线程的结束就是因为主进程的结束
在Start之前设置daemon = True
锁
GIL锁 : 全局解释锁,在cpython解释器中,同一时刻同一进程内只能有一个线程访问CPU
是互斥锁
锁的是代码,一段代码被多个线程执行,并且要对全局变量进行非原子性操作
互斥锁:在同一线程中,不能连续acquire多次,并且可以做到多个线程中被锁diamante同时只有一个
递归锁:在同一线程中,能连续acquire多次,并且可以做到多个线程中被锁diamante同时只有一个
死锁现象:只要实例化多把锁,并交替使用,都有可能产生死锁现象
只要是1把锁,递归锁永远锁不住
只要是2把锁,交替使用个就有可能出现死锁现象