摘要:上一篇文章開篇下一篇文章第一章異步及協程基礎第二節關鍵字協程是種推薦的編程方式,使用協程可以開發出簡捷高效的異步處理代碼。同步操作,導致進程阻塞,直到操作完成異步操作,不會導致請求進程阻塞。
上一篇文章:Python:Tornado 開篇
下一篇文章:Python:Tornado 第一章:異步及協程基礎:第二節:Python關鍵字yield
協程是Tornado種推薦的編程方式,使用協程可以開發出簡捷、高效的異步處理代碼。
同步與異步I/O對比眾所周知,CPU的運行效率高于磁盤的存儲,也高于網絡請求,這就導致CPU對數據的處理和數據的存儲或者網絡請求(I/O操作)步伐不一致,此時可以選擇I/O操作同步或者異步。
同步I/O操作,導致進程阻塞,直到I/O操作完成;
異步I/O操作,不會導致請求進程阻塞。
Tornado同步I/O的簡單代碼實例:代碼:
#導入Tornado的HTTP客戶端 from tornado.httpclient import HTTPClient def synchronous_visit(): http_client=HTTPClient() #阻塞,知道對網址訪問完成 respone=http_client.fetch("http://www.baidu.com") print(respone.body) synchronous_visit()
HTTPClient是Tornato的同步訪問HTTP客戶端。上述代碼中的synchronous_visit()函數使用了典型的同步I/O操作來訪問網址,該函數的執行時間取決于網絡速度、對方服務器的響應速度,只有當訪問完全結束并獲取結果后,該函數才能執行完成。
Tornado異步I/O的簡單代碼實例:from tornado.httpclient import AsyncHTTPClient def handle_response(response): print(response.body) def asyncronous_visit(): http_client=AsyncHTTPClient() http_client.fetch("http://www.baoidu.com",callback=handle_response)
AsyncHTTPClient是Tornado的異步訪問HTTP客戶端。在上述代碼中的asynchronous_visit()函數中使用了AsyncHTTPClient對第三方網站進行異步訪問,http_client.fetch()函數會在調用后立刻返回而無需等待實際訪問的完成,從而導致asynchronous_visit()也會立刻執行完成。當對網址的訪問實際完成后,AsyncHTTPClient會調用callback參數指定的函數,可以在這個函數中處理訪問結果。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/42600.html
摘要:在種,使用關鍵字定義的迭代器也被稱為生成器迭代器迭代器是訪問集合內元素的一種方式。調用任何定義包含關鍵字的函數都不會執行該函數,而是會獲得一個隊應于該函數的迭代器。 上一篇文章:Python:Tornado 第一章:異步及協程基礎:第一節:同步與異步I/O下一篇文章:Python:Tornado 第一章:異步及協程基礎:第三節:協程 協程是Tornado中進行異步I/O代碼開發的方法...
摘要:上一篇文章第一章異步及協程基礎第二節關鍵字下一篇文章第二章實戰演練開發網站第一節網站結構使用協程可以開發出類似同步代碼的異步行為。協程函數可以通過以下三張方式調用在本身是協程的函數內通過關鍵字調用。 上一篇文章:Python:Tornado 第一章:異步及協程基礎:第二節:Python關鍵字yield下一篇文章:Python:Tornado 第二章:實戰演練:開發Tornado網站:第...
摘要:作為網站的基礎框架,于年月日發布,目前已經獲得了很多社區的支持,并且在一系列不同的場景種得到應用。使用該框架,開發者能夠快速開發出即安全又強大的用戶身份認證機制,例如機制用戶身份認證防止跨站攻擊等等。 下一篇文章:Python:Tornado 第一章:異步及協程基礎:第一節:同步與異步I/O Tornado是一個可擴展的非阻塞Web服務器以及相關工具的總稱。Tornado每秒可以處理...
摘要:上一篇文章第一章異步及協程基礎第三節協程下一篇文章第二章實戰演練開發網站第二節網站結構路由解析實例瀏覽器輸入鏈接頁面顯示下面逐行解析上面的代碼做了些什么首先通過語句引入包中的和類。該對象的第一個餐食用于定義程序的路由映射。 上一篇文章:Python:Tornado 第一章:異步及協程基礎:第三節:協程下一篇文章:Python:Tornado 第二章:實戰演練:開發Tornado網站:第...
摘要:譯者說于年月日發布,該版本正式支持的關鍵字,并且用舊版本編譯同樣可以使用這兩個關鍵字,這無疑是一種進步。其次,這是最后一個支持和的版本了,在后續的版本了會移除對它們的兼容。 譯者說 Tornado 4.3于2015年11月6日發布,該版本正式支持Python3.5的async/await關鍵字,并且用舊版本CPython編譯Tornado同樣可以使用這兩個關鍵字,這無疑是一種進步。其次...
閱讀 1148·2021-11-25 09:43
閱讀 2965·2019-08-30 15:54
閱讀 3349·2019-08-30 15:54
閱讀 2991·2019-08-30 15:44
閱讀 1624·2019-08-26 12:18
閱讀 2256·2019-08-26 11:42
閱讀 875·2019-08-26 11:35
閱讀 3295·2019-08-23 18:22