玩蛇网提供最新Python编程技术信息以及Python资源下载!

说Python多线程是伪命题正确吗?

我向别人讨教,在scrapy中使用多线程提高抓取效率的问题,有人回复我说,这涉及Python全局解释器锁(GIL)的问题,我搜索了一下,发现GIL限制Python同一时间只能有一个线程运行。如果是这样的话,那threading库的存在是怎么回事?那多线程爬虫到底存在不存在?

因为爬虫程序90%的时间是在等啊

明显不是,你好好看看官方的文档

确切来说:GIL 限制 Python 同一时间只能有一个线程持有 GIL。

通常在进入一些不需要 Python 解释器的 C 代码之前,库程序会/应显式释放 GIL

cPy_BEGIN_ALLOW_THREADS
// ... Do some blocking I/O operation ...
Py_END_ALLOW_THREADS

因此回答问题:

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd18975.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月23日 - 16时51分33秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules