为什么python没有任何真正的轻量级线程?

时间:2009-12-16 12:20:42

标签: python multithreading pthreads

我是Python新手,似乎多处理和线程模块不是很有趣,并且遇到了相同的问题,例如Perl中的线程。有没有技术上的原因为什么解释器不能使用轻量级线程(如posix线程)来实现真正在多个内核上运行的高效线程实现?

2 个答案:

答案 0 :(得分:22)

使用POSIX线程。问题是GIL

请注意,GIL不是Python规范的一部分 - 它是CPython参考实现的一部分。例如,Jython不会遇到这个问题。

那说,看了Stackless

答案 1 :(得分:0)

·彼得,

你可能想看看stackless(http://www.stackless.com/),这是在消息传递(erlang样式)方式中运行轻量级tasklet的python的修改版本。

我不确定你是否在寻找多核解决方案,但是在无堆栈中探索可能会给你提供你想要的东西。