在 Hacker News 上看到的资讯,目前有一位开发者最近实作出PoC版本的CPython multi-threading。

而会这么说,主要是因为目前的Python在multi-thread方面的发展,还是受限于GIL(global interpreter lock)的影响,所以实际上在执行时,只会有一个thread 在运作。

而会有这样的设计,也是跟GC(Garbage Collection)有比较大的关系,因为Python的GC是采用reference count的原理,当一个物件不再被任何其它物件所使用时,它就会是可以被回收的。而回收的方式就是透过GIL。

不过目前这个设计有机会被改进了,即是社群开发者提供的那个 PoC版本CPython,而主要的改进方向是透过改进GC算法,更详细的作法可以直接参考这里。

相信这功能如果可以进到CPython之后的版本的话,这一定会大幅强化Python的优势的,等之后看后续的发展了XD