【发布时间】:2018-02-04 14:02:08
【问题描述】:
我正在尝试决定是否应该使用 gevent 或线程在 python 中实现 web 抓取的并发性。
我的程序应该能够支持大量(~1000)并发工作人员。大多数时候,工作人员会等待请求返回。
一些指导性问题: 线程和greenlet之间到底有什么区别?我应该在单个进程中创建的最大线程数是多少(关于服务器的规范)?
【问题讨论】:
-
太宽泛了?如果您有多个问题,请提出多个问题。
-
我认为你也应该考虑 asyncio。为了回答您的问题,greenlet 通常比普通线程的重量更轻,这意味着创建许多线程和在它们之间切换的开销更少。然而,因此它们之间共享更多,在某些情况下,这可能是一个问题。您确实需要查看更长的教程才能获得更好的想法。
标签: python multithreading concurrency python-multithreading gevent