您好,登錄后才能下訂單哦!
怎么在python協程中調用Task?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
1、簡單易用,與C/C++、Java、C# 等傳統語言相比,Python對代碼格式的要求沒有那么嚴格;2、Python屬于開源的,所有人都可以看到源代碼,并且可以被移植在許多平臺上使用;3、Python面向對象,能夠支持面向過程編程,也支持面向對象編程;4、Python是一種解釋性語言,Python寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序;5、Python功能強大,擁有的模塊眾多,基本能夠實現所有的常見功能。
1、說明
Tasks用于并發調度協程,通過asyncio.create_task(協程對象)創建Task對象,使協程能夠加入事件循環,等待調度執行。除使用asyncio.create_task()函數外,還可使用低級loop.create_task()或ensure_future()函數。推薦使用手動實例Task對象。
2、使用注意
Python3.7中添加到asyncio.create_task函數。在Python3.7之前,可以使用低級asyncio.ensure_future函數。
3、實例
import asyncio async def func(): print(1) await asyncio.sleep(2) print(2) return "返回值" async def main(): print("main開始") # 創建協程,將協程封裝到一個Task對象中并立即添加到事件循環的任務列表中,等待事件循環去執行(默認是就緒狀態)。 task1 = asyncio.create_task(func()) # 創建協程,將協程封裝到一個Task對象中并立即添加到事件循環的任務列表中,等待事件循環去執行(默認是就緒狀態)。 task2 = asyncio.create_task(func()) print("main結束") # 當執行某協程遇到IO操作時,會自動化切換執行其他任務。 # 此處的await是等待相對應的協程全都執行完畢并獲取結果 ret1 = await task1 ret2 = await task2 print(ret1, ret2) asyncio.run(main())
看完上述內容,你們掌握怎么在python協程中調用Task的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。