在python中,有一个大锁经常被提到。
1. 是由cpython解释器引起的,二不是python本身的缺陷,但cpython用的最多,被以为是python的缺陷。
2. 锁是给多任务单核设计的,现在多任务多核引发这个问题。
3. python3做了GIL优化
4. IO型是主动释放GIL锁给其他线程用,而计算型如果不是原子的,记得要考虑线程安全。
5. 也可以使用多进程避免锁的问题,也可以使用互斥锁避免问题。
在python中,有一个大锁经常被提到。
1. 是由cpython解释器引起的,二不是python本身的缺陷,但cpython用的最多,被以为是python的缺陷。
2. 锁是给多任务单核设计的,现在多任务多核引发这个问题。
3. python3做了GIL优化
4. IO型是主动释放GIL锁给其他线程用,而计算型如果不是原子的,记得要考虑线程安全。
5. 也可以使用多进程避免锁的问题,也可以使用互斥锁避免问题。