Jam*_*mes 10 python multithreading gil
期待在python中编写一个小的web爬虫.我开始研究将其编写为多线程脚本,一个线程下载池和一个池处理结果.由于GIL它实际上会同时下载吗?GIL如何影响网络爬虫?每个线程都会从套接字中选择一些数据,然后转到下一个线程,让它从套接字中选择一些数据等等.
基本上我要问的是在python中做一个多线程爬虫真的会给我带来很多性能vs单线程?
谢谢!
执行网络操作时,Python解释器不会保留GIL.如果您正在进行网络绑定的工作(如爬虫),则可以安全地忽略GIL的影响.
另一方面,如果您创建了许多正在处理的线程(下载后),您可能需要测量性能.限制线程数将减少GIL对您的性能的影响.
| 归档时间: |
|
| 查看次数: |
5008 次 |
| 最近记录: |