小议python中的GIL

It isn’t Easy to Remove the GIL
对于cpython来说,取消GIL并不是不可能,但是出于单线程性能方面的考虑,python核心开发组并不打算取消GIL。通过使用更小粒度的锁可以解决GIL这个问题,但是更小粒度的锁意味着更多的上下锁,更大的开销。
多线程编程的复杂性不符合python的哲学,并且在性能方面,事件驱动的编程范式可以很好地替代I/O密集型的多线程应用,并且基于事件驱动的编程相对于多线程来说更简单。而对于CPU密集型的应用,可以使用多进程结合affinity的解决方式。

猜你喜欢

转载自blog.csdn.net/kekefen01/article/details/84210853