一、你用过哪些并发网络库?
Tornado vs Gevent vs Asyncio
1.Tornado
并发网络库和同时也是一个web
微框架
2.Gevent
绿色线程(greenlet
)实现并发,猴子补丁修改内置socket
3.Ayncio Python3
内置的并发网络库,基于原生协程
二、Tornado
框架
Tornado
适用于微服务,实现Restful
接口
1.底层基于Linux
多路复用
2.可以通过协程或者回调实现异步编程
3.不过生态不完善,相应的异步框架比如ORM
不完善
异步编程例子:
import tarnado.ioloop
import tornado.web
from tornado.httpclient import AsyncHTTPClient
class APIHandler(tornado.web.RequestHandler):
async def get(self):
url = 'http://httpbin.org/get'
http_client = AsyncHTTPClient()
resp = await http_client.fetch(url)
print(resp.body)
return resp.body
def make_app():
retu