转自:https://blog.csdn.net/dutsoft/article/details/51452598 Flask,webpy,Django都带着 WSGI server,当然性能都不好,自带的web server 更多的是测试用途。线上发布时,则使用高性能的 wsgi server或者 ...
分类:
其他好文 时间:
2018-06-25 20:24:12
阅读次数:
550
greenlet已经实现了协程,但是这个还的人工切换,是不是觉得太麻烦了,不要捉急,python还有一个比greenlet更强大的并且能够自动切换任务的模块gevent 其原理是当一个greenlet遇到IO(指的是input output 输入输出,比如网络、文件操作等)操作时,比如访问网络,就自 ...
分类:
其他好文 时间:
2018-06-24 10:29:13
阅读次数:
156
from gevent import monkey import gevent import urllib.request #有IO才做时需要这一句 monkey.patch_all() def my_downLoad(file_name, url): print('GET: %s' % url) ... ...
分类:
其他好文 时间:
2018-06-24 10:25:10
阅读次数:
124
1 简述OSI 七层协议。2 什么是C/S和B/S架构?3 简述三次握手、四次挥手的流程。4 什么是arp协议?5 TCP和UDP的区别?6 什么是局域网和广域网?7 为何基于tcp协议的通信比基于udp协议的通信更可靠?8 什么是socket?简述基于tcp协议的套接字通信流程。9 什么是粘包? ...
分类:
编程语言 时间:
2018-06-21 01:27:57
阅读次数:
362
一、基本环境$ pip install flask gevent requests pillow其中 flask不需要解释gevent 是用于自动切换进程的;pillow 是用来进行python下的图像处理的;requests 是用来进行python下request处理的。二、核心代码解释# imp... ...
#!/usr/bin/env python # encoding: utf-8 # Date: 2018/6/19# # from gevent import monkey # 这俩行必须放在首行,下面就可以使用time(非gevent)的io# # monkey.patch_all() # 相当于 ...
分类:
其他好文 时间:
2018-06-19 22:48:18
阅读次数:
273
协程:单线程下的并发。又称微线程。是用户态的轻量级线程,即协程是由用户程序自己控制调度的 要遇到IO才切。 比线程开销更小。 修改共享数据不用加锁 yield greenlet都无法做到遇到IO就切换 gevent 可以监控多个任务之间的IO,遇到IO切换到另一个任务。 yield: Greenle ...
分类:
其他好文 时间:
2018-06-17 16:01:05
阅读次数:
158
用协程做并发服务器 gevent版本: monkey.patch_all() 修改了自己的代码 只能用mokey里面的代码 ...
分类:
其他好文 时间:
2018-06-17 13:29:32
阅读次数:
157
主要特点 框架代码结构简单易用,易于修改。例如针对出现验证码的处理方法。 采用gevent实现并发操作,与scrapy的twisted相比,代码更容易理解。 完全模块化的设计,强大的可扩展性。 使用方式和结构参考了 scrapy 和 webmagic 。对有接触过这两个框架的朋友非常友好。 对数据的 ...
分类:
其他好文 时间:
2018-06-16 21:06:18
阅读次数:
251
通过gevent实现socket的多并发server 端:import geventfrom gevent import socket, monkeymonkey.patch_all() #进行IO标记def server(port): s = socket.socket() s.bind(('lo ...
分类:
编程语言 时间:
2018-06-11 00:30:03
阅读次数:
217