摘要:
刚刚只是在理论上讲述了gevent遇到io自动切换,下面我们就来实际操作一下,在实战过程中我们用协程大面积的爬虫,看看如何用gevent去实现并发的效果的。 2.1、串行爬网页 说明:我们先来看看串行效果的爬网页的代码,看看消耗多长时间 执行结果如下: 2.2、gevent协程爬虫 说明:刚刚是串行 阅读全文
摘要:
感觉确实用着比generator还简单了呢,但好像还没有解决一个问题,就是遇到IO操作,自动切换,对不对?所以我们接下来就说说如何遇到IO就切换,不得不提到一个模块Gevent。 Gevent 是一个第三方库,可以轻松通过gevent实现并发同步或异步编程,在gevent中用到的主要模式是Green 阅读全文
摘要:
协程,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程:协程是一种用户态的轻量级线程。 协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈。因此: 协程能保留上一次调用时的状态(即所有局部状态的一个特定组合 阅读全文
摘要:
本篇博客主要写进程锁,__name__ == "__main__"函数作用,以及进程池的使用。 2.1、进程锁 说明:通过multiprocessing中的Lock模块来实现进程锁。 1、这边不禁的有个疑问,就是进程中不是相互独立的吗?为啥还要加锁呐? 虽然每个进程都是独立运行的,但是问题来了,它们 阅读全文