【发布时间】:2014-05-06 23:39:42
【问题描述】:
Python threading module 文档是这样说的
在 CPython 中,由于全局解释器锁,只有一个线程可以 立即执行 Python 代码(即使某些面向性能的 图书馆可能会克服这个限制)。如果你想要你的 应用程序以更好地利用计算资源 多核机器,建议使用多处理。然而, 如果你想运行多个线程仍然是一个合适的模型 I/O 密集型任务同时进行。
有人可以解释我是否可以在我的情况下使用线程模块吗?
我将检测网站使用的框架。
这就是我的应用程序的工作原理
- 我的 MySQL 数据库包含大约 1000 万个域(id、域、框架)
- 从数据库中获取 1000 行
- 使用请求模块逐个抓取域
- 检测框架
- 使用结果更新数据库行。
由于我有 1000 万个域,因此需要很长时间。所以我想通过使用线程来加速这个过程。
但我不确定我的应用是否受 I/O 限制。谁能解释一下?
谢谢
【问题讨论】:
标签: python mysql multithreading