使用python的都知道python中存在一个GIL锁,这个东西是在很久之前计算机还都是单核的时候创造的,一直延伸到了现在,而这个GIL锁的理论知识就是在python中每次只能运行一个线程,只有拿到GIL锁通行证的那一个线程才能执行其他的要等待,只有当拿到锁的线程执行完毕其他的线程才能去抢锁来进行运行,那如果是这样的话python中的多线程还有什么用呢? 一次不就执行一个线程吗 要多线程还有什么用? 不管你是几个核 在python中就得老老实实的执行那一个线程.
其实在python中使用多线程的时候,GIL锁如果发现有线程在执行io操作,那么就会允许其他的线程先去执行他们的逻辑,
其实就是io密集型的时候GIL锁会允许cpu先让其他的线程执行,
而且GIL锁也不会让正在执行io操作的线程终止,反而会让他继续执行io操作.