web前端三大主流框架之Python异步框架如何工作?

c陈斌


针对这个标题,我引用php中文网的Tomorin作者的一篇文章

这篇文章我们从 socket 编程的例子来看看 Python 异步框架是如何工作的,需要了解下简单的 socket 编程以及 Linux 提供的 I/O 复用机制。 Python 异步框架也是基于操作系统底层提供的 I/O 复用机制来实现的,比如 linux 下可以使用 select/poll/epoll 等。 我们先看个简单的 python socket server 例子,Python 代码使用 Python3,确保可以使用 selectors 模块。

一个实例

我们下边用一个 golang 的 tcp client 测试下它:

使用 go 运行它可以看到输出。

接下来我们使用 python3 提供的 selectros 来改造它,这个模块封装了操作系统底层提供的 I/O 复用机制,比如 linux 上使用了 epoll。通过 I/O 复用机制我们可以监听多个文件描述符的可读写事件并且注册回调函数,拥有更好的并发性能。 先看 python3 的 selectors 文档给的例子

我们来运行下这个 使用了 seelctors I/O 复用机制的 tcp echo server 看下输出结果。

到这里就差不多了,我们再继续运行 go 写的 tcp client 来测试它看结果。

在后边教程中我们将使用 python 的 coroutine 而不是回调函数来改造这个例子,这样一来我们就能使用 async/await 来运行它了


IT追梦—厦门站


这个问题好像有点歧义,web前端三大框架应该是react、angular、vue。





分享到:


相關文章: