我前面说过了啊。。
python 有 GIL,约等于不支持多线程。python 日常使用的多线程,通常是用于阻塞 IO 的。
现在只要把所有的线程阻塞 IO 都替换成协程阻塞 IO,把 threading 模块替换成接口完全一样的 fiber 实现,那大多数 python 源代码,就可以在完全不修改的情况下,使用协程了。
关键是这事,我们以前用 gevent 的 monkey_patch 已经实践过了,完全可行。
当然了,有 C 库的兼容性问题,比如 c 写的那个 mysql-client 就不行。我们试验 pgsql 和 pymysql 都是完全没问题的。如果官方定下标准,c 库跟着改,很容易改过来。最佳的节点是 py3k 就改过来。
可惜龟叔选择了 async/await,这俩关键字到处传染,把源代码变得非常难看。
【 在 beep (菜M.喵星耗子) 的大作中提到: 】
: 为啥对python也是毒药啦?
--
FROM 124.72.119.*