asyncio 的優點與缺點

php中世界最好的语言
發布: 2017-11-27 15:05:49
原創
3551 人瀏覽過

今天給大家asyncio的優點和缺點,學習非同步IO一定要知道協程和asynico,那麼asyncio到底是什麼呢?要怎麼使用asyncio呢?下面就給大家一一解答

優勢

對非同步IO 任務異常好使

程式#模型比較簡​​單,負擔比較小:

利用asyncio 拿到一個event loop

#然後塞東西到這個loop 中(協程)

作業系統看到的仍然是單線程,但是從宏觀角度看到的是“多並發”(每個語言差不多都是這樣:在用戶態上實現一套多線程模型)

缺點

#生態不成熟( 雖然有aio-libs),要是requests 這樣的函式庫也有對應的實作就好了(流行度也要高)

有一個前提假定:一個App 必須從前到後都是非同步的,這對許多歷史遺留項目是有負擔的

與gevent + Python 2 對比

很多項目都是Python 2 based,使用gevent 效果很明顯

唯一擔心的地方是:gevent 會有很多patch (hack 標準庫),而我們看到的是一個黑盒子,難免不放心

gevent 的效率不一定比asyncio + async def 那一套的效率低哦

怎麼使用

asyncio 作為我們的框架(我比較喜歡標準庫有的東西),async def/await 作為基本的設計手段

多多使用aio-libs 中的各種lib (必須從頭到尾都異步啊!)

相信看了這些案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!


相關閱讀:

CSS網頁錯位怎麼處理

怎麼用css3做出圖示效果

怎麼用canvas實作小球與滑鼠的互動

以上是asyncio 的優點與缺點的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板