python實現(xiàn)異步的兩種框架
Python實現(xiàn)異步的框架有很多,但是核心思想大概是基于下面兩種方式
twister
geventtwister
1、twister
twister思想是將異步操作封裝起來,通過回調(diào)的方式來操作,我們看scrapy里面中間請求的實現(xiàn)就是twister方式
scrapy.Request(url='xxx',callback=func)
通過傳遞封裝的request,當(dāng)框架幫我們請求完后,會通過callback進行回調(diào),如果你的請求很簡單那還好,只需要回調(diào)一次就可以,假如你的請求較復(fù)雜,那么你就會進入回調(diào)地獄(callbackhell)
2、gevent
gevent是一個使用完全同步編程模型的可擴展的異步I/O框架。
所有的異步I/O都依賴于同一種模式.它不在于代碼如何運行,而在于在何處完成等待.多路I/O操作需要統(tǒng)一做等待處理,于是,等待只在代碼中的一個地方出現(xiàn).當(dāng)事件觸發(fā)的時候,異步系統(tǒng)需要恢復(fù)等待這個事件的代碼塊。
以上就是python實現(xiàn)異步的兩種框架,希望能對大家有所幫助。更多Python學(xué)習(xí)教程請關(guān)注IT培訓(xùn)機構(gòu):千鋒教育。