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。





分享到:


相關文章: