Python 最难的问题 已翻译 100%

oschina 投递于 2013/06/04 06:06 (共 10 段, 翻译完成于 06-15)
阅读 59044
收藏 171
17
加载中

暂无内容

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
加载中

评论(42)

格力高
格力高
多年的僵尸贴又给翻出来了,看看python源代码分析,就可以知道这种完全动态类型的语言,想去掉GIL,几乎是不可能的一件事情了。
Raymin
Raymin

引用来自“Raymin”的评论

引用来自“刘子玄”的评论

我认为Python可以参考JVM是怎么做的

同意!
可能是因为 Python 最初设计时,还处于单核时代。
如果 Python 解释器,最初就设计成线程安全的,就不会有这么多问题了。
JavaScript、Lua 都没有 GIL,多可以创建多个解释器实例并发运行。
Python 却是不能的。

引用来自“明少杰”的评论

python一样可以创建多个解释器

引用来自“Raymin”的评论

一个解释器运行时,别的都得闲着。

引用来自“明少杰”的评论

一个解释器就是一个进程,怎么会闲着,又不是在同一个进程内
不在一个进程里还叫什么多线程,干脆一台机器跑一个解释器算了。
Xomas
Xomas

引用来自“Raymin”的评论

引用来自“刘子玄”的评论

我认为Python可以参考JVM是怎么做的

同意!
可能是因为 Python 最初设计时,还处于单核时代。
如果 Python 解释器,最初就设计成线程安全的,就不会有这么多问题了。
JavaScript、Lua 都没有 GIL,多可以创建多个解释器实例并发运行。
Python 却是不能的。

引用来自“明少杰”的评论

python一样可以创建多个解释器

引用来自“Raymin”的评论

一个解释器运行时,别的都得闲着。
一个解释器就是一个进程,怎么会闲着,又不是在同一个进程内
Raymin
Raymin

引用来自“Raymin”的评论

引用来自“刘子玄”的评论

我认为Python可以参考JVM是怎么做的

同意!
可能是因为 Python 最初设计时,还处于单核时代。
如果 Python 解释器,最初就设计成线程安全的,就不会有这么多问题了。
JavaScript、Lua 都没有 GIL,多可以创建多个解释器实例并发运行。
Python 却是不能的。

引用来自“明少杰”的评论

python一样可以创建多个解释器
一个解释器运行时,别的都得闲着。
Xomas
Xomas

引用来自“Raymin”的评论

引用来自“刘子玄”的评论

我认为Python可以参考JVM是怎么做的

同意!
可能是因为 Python 最初设计时,还处于单核时代。
如果 Python 解释器,最初就设计成线程安全的,就不会有这么多问题了。
JavaScript、Lua 都没有 GIL,多可以创建多个解释器实例并发运行。
Python 却是不能的。
python一样可以创建多个解释器
D
DanielZhao1990
每个语言都有自己的特色,如果有个语言完美了,那还要其他语言干嘛。
LinkerLin
LinkerLin
多进程明显更好。JVM没有GIL,但是有GC.GC的时候也是一把大锁锁住的。
asdfsx
asdfsx
伤不起的GIL,伤不起的并发~~~除此以外都挺好
Haggard
Haggard
没有哪一个应用是单一用门语言做完的,每个语言都有每个语言的特点,选择Python是因为使用Python可以快速实现一个应用原型, 在应用中解决问题出现的瓶颈才是关键.
Raymin
Raymin
The Lua library denes no global variables at all. It keeps all its state in
the dynamic structure lua_State, and a pointer to this structure is passed as an
argument to all functions inside Lua. This implementation makes Lua reentrant
and ready to be used in multithreaded code.
返回顶部
顶部