本文的目的是解释为什么在Python中需要多线程和多处理,何时使用多线程和多进程,以及它们能怎样提高我们程序的性能。
假设我们的量化模型需要从多个网站爬取一些数据,我们将要对比用单线程和多线程的方法有何性能上的差别。
1,单线程,单进程
在单线程、单进程中,我们将用for循环读取一个url列表。
如您所见,我们只是使用for循环一个接一个地遍历url并读取响应。我们可以使用IPython的%%time函数对消耗的时间进行统计,这个读取13个网页的任务大约需要12秒钟。
Python学习交流群:1004391443
2,多线程
现在我们改进一下这个程序,我们可以将读取url的任务分配给多个线程来完成,而不是只让一个线程去逐一读取。
比如4个线程:
8个线程: