Gevent学习记录1
关于Gevent出现URLError: <urlopen error [Errno 66] unknown>错误:
学习的过程中,有些网址始终出现上面提示的那个错误,但用浏览器访问确实是正常的。
有网友提示说把gevent.monkey.patch_all(dns=false),经我实验后发现,这么改过后有些网址确实变得正常了,但有些网址却出现了其它比如time out、Network is unreachable等错误。
提起gevent,就不得不提起greenlet。按照官方解释greenlet是轻量级的并行编程,而gevent呢,就是利用greenlet实现的基于协程的python的网络library。
官方文档:http://www.gevent.org/contents.html
说说协程,进程和线程大家平时了解的都比较多,而协程算是一种轻量级进程,但又不能叫进程,因为操作系统并不知道它的存在。什么意思呢,就是说,协程像是一种在程序级别来模拟系统级别的进程,由于是单进程,并且少了上下文切换,于是相对来说系统消耗很少,而且网上的各种测试也表明,协程确实拥有惊人的速度。并且在实现过程中,协程可以用以前同步思路的写法,而运行起来确是异步的,也确实很有意思。话说有一种说法就是说进化历程是多进程->多线程->异步->协程,暂且不论说的对不对,单从诸多赞誉来看,协程还是有必要理解一下的。