我听说python仍然存在这个全局解释器锁定问题。因此,python中的线程执行实际上并不是多线程的。
有哪些可能的解决方案可以解决这个问题?
我正在使用python 2.7.3
答案 0 :(得分:1)
为了理解python的GIL,我建议使用这个链接:http://www.dabeaz.com/python/UnderstandingGIL.pdf
来自python wiki:
GIL存在争议,因为它可以防止多线程CPython程序在某些情况下充分利用多处理器系统。请注意,在GIL之外发生可能阻塞或长时间运行的操作,例如I / O,图像处理和NumPy数字运算。因此,只有在多线程程序中花费大量时间在GIL内部,解释CPython字节码,才能使GIL成为瓶颈。
有关于消除GIL的讨论,但我想它还没有实现。如果您真的想为自定义代码实现多线程,还可以切换到Java。
看看是否有帮助。