网络异步

50.使用Tornado进行网络异步编程

你。 提交于 2019-12-21 11:39:44
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Tornado Tornado是一款非阻塞可扩展的使用Python编写的web服务器和Python Web框架, 可以使用Tornado编写Web程序并不依赖任何web服务器直接提供高效的web服务.所以Tornado不仅仅是一个web框架而且还是一款可以用于生产环境的高效的web服务器 Torando 在Linux和FreeBSD上使用高效的异步I/O模型epoll和kqueue来实现高效的web服务器, 所以 tornado在Linux上和FreeBSD系列性能可以达到最高 接口 当然我们可以不仅仅把Tornado看作是一个web框架和web服务器, 我们可以利用Tornado提供的接口进行高效的网络异步编程, tornado.ioloop.IOLoop提供了三个接口可以用于网络编程: add_handler def add_handler(self, fd, handler, events): self._handlers[fd] = stack_context.wrap(handler) self._impl.register(fd, events | self.ERROR) add_handler用于添加socket到主循环中, 接受三个参数: fd 是socket的文件描述符 handler