摘要:問題背景是版本引入的標準庫,直接內(nèi)置了對異步的支持。最近我在多線程調(diào)用使用方法的時候,出現(xiàn)報錯后來查過一些資料,發(fā)現(xiàn)不允許嵌套事件出現(xiàn),需要引入??偨Y(jié)給自己留個記錄,防止忘了。如果對你有用的話,點個贊吧。
asyncio是Python 3.4版本引入的標準庫,直接內(nèi)置了對異步IO的支持。最近我在多線程調(diào)用使用asyncio方法的時候,出現(xiàn)報錯:
This event loop is already running
后來查過一些資料,發(fā)現(xiàn)asyncio不允許嵌套事件出現(xiàn),需要引入nest_asyncio。
引入nest_asyncio模塊
pip install nest_asyncio -i https://pypi.douban.com/simple
代碼添加
import nest_asyncionest_asyncio.apply()
其他的不需要改動。
給自己留個記錄,防止忘了。如果對你有用的話,點個贊吧。
?
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/124514.html
摘要:所以在第一遍閱讀官方文檔的時候,感覺完全是在夢游。通過或者等待另一個協(xié)程的結(jié)果或者異常,異常會被傳播。接口返回的結(jié)果指示已結(jié)束,并賦值。取消與取消不同。調(diào)用將會向被包裝的協(xié)程拋出。任務相關(guān)函數(shù)安排協(xié)程的執(zhí)行。負責切換線程保存恢復。 Tasks and coroutines 翻譯的python官方文檔 這個問題的惡心之處在于,如果你要理解coroutine,你應該理解future和tas...
摘要:解決方案我們可以使用函數(shù)建立一個新的事件循環(huán),并使用設置全局的事件循環(huán),這時候就可以多次運行異步的事件循環(huán)了,不過最好保存默認的并在事件循環(huán)結(jié)束的時候還原回去。 背景 我們在Python異步程序編寫中經(jīng)常要用到如下的結(jié)構(gòu) import asyncio async def doAsync(): await asyncio.sleep(0) #... if __name__...
摘要:是并發(fā)的一種方式。并不能帶來真正的并行??山唤o執(zhí)行的任務,稱為協(xié)程。輸出等待三秒鐘程序退出現(xiàn)在改用輸出等待三秒鐘程序沒有退出三秒鐘過后,結(jié)束,但是程序并不會退出。但是如果關(guān)閉了,就不能再運行了此處異常建議調(diào)用,以徹底清理對象防止誤用。 所謂「異步 IO」,就是你發(fā)起一個 IO 操作,卻不用等它結(jié)束,你可以繼續(xù)做其他事情,當它結(jié)束時,你會得到通知。 Asyncio 是并發(fā)(concurr...
摘要:是之后引入的標準庫的,這個包使用事件循環(huán)驅(qū)動的協(xié)程實現(xiàn)并發(fā)。沒有能從外部終止線程,因為線程隨時可能被中斷。上一篇并發(fā)使用處理并發(fā)我們介紹過的,在中,只是調(diào)度執(zhí)行某物的結(jié)果。 asyncio asyncio 是Python3.4 之后引入的標準庫的,這個包使用事件循環(huán)驅(qū)動的協(xié)程實現(xiàn)并發(fā)。asyncio 包在引入標準庫之前代號 Tulip(郁金香),所以在網(wǎng)上搜索資料時,會經(jīng)常看到這種花的...
摘要:具有以下基本同步原語子進程提供了通過創(chuàng)建和管理子進程的。雖然隊列不是線程安全的,但它們被設計為專門用于代碼。表示異步操作的最終結(jié)果。 Python的asyncio是使用 async/await 語法編寫并發(fā)代碼的標準庫。通過上一節(jié)的講解,我們了解了它不斷變化的發(fā)展歷史。到了Python最新穩(wěn)定版 3.7 這個版本,asyncio又做了比較大的調(diào)整,把這個庫的API分為了 高層級API和...
閱讀 2735·2021-11-23 09:51
閱讀 1967·2021-10-13 09:40
閱讀 1523·2021-09-30 10:01
閱讀 664·2021-09-26 09:46
閱讀 2367·2021-09-23 11:55
閱讀 1553·2021-09-10 10:51
閱讀 2399·2021-09-09 09:33
閱讀 2297·2019-08-29 17:25