线程锁是怎么回事?
内容衔接: 咱们要明白一件事就是我们现在在这里讲的锁跟前面所说的GIL锁不是一个锁,前面说的GIL锁 是Python内置的一个全局解释器,这个锁的目的就是保证在同一时刻进程中只有一个线程可以被CPU 调度. 但是我们也说了这个GIL锁有的时候并不能更快解决我们把语言翻译出来的目的,那比如说在密集 型计算问题的时候,反而会比较慢,那有的人就说了,那为什么不把这锁给去了? 这个问题我其实也一直在纠结,存在即合理,那么站在可观的角度去看这个问题,应该能给你解答 那么在Python开始被程序员使用的时候也有的就提出了这样的文问题,那么Python 的创始人的团队 也就在处理这个问题,但是当他们按照Java和C#的解决方案去解决这个问题的时候就发现,没有GIL锁 反而比有GIL锁跑的更慢了.所以有改回来了,但是一方面的原因还是因为他们团队代码写的不够好(个人 主见仅供参考)这一直以来成为了Python的一大诟病,但是我相信在Pyhton如此之火的现在而言解决 这个问题就是迟早的事情 扯了这么多,连主题都忘了继续说到我们今天要说的锁的事那么我们今天要说的锁2到底是什么呢> 给你就一个例子,就是说这样一个 场景,比如说我现在有有两个函数;里面都要去调用公共变量的一个 值但是我们运行的时候由于这个GIL锁的原因,我第一个程序还没有将公共变量中值改好但是我的使用 次数已经够了