91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在python3協程中使用asyncio

發布時間:2021-04-26 15:08:54 來源:億速云 閱讀:188 作者:Leah 欄目:編程語言

怎么在python3協程中使用asyncio?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

Python主要用來做什么

Python主要應用于:1、Web開發;2、數據科學研究;3、網絡爬蟲;4、嵌入式應用開發;5、游戲開發;6、桌面應用開發。

1、asyncio的使用

(1)event_loop 事件循環:程序開啟一個無限的循環,程序員會把一些函數注冊到事件循環上。當滿足事件發生的時候,調用相應的協程函數。

(2)coroutine 協程:協程對象,指一個使用async關鍵字定義的函數,它的調用不會立即執行函數,而是會返回一個協程對象。協程對象需要注冊到事件循環,由事件循環調用。

(3)task 任務:一個協程對象就是一個原生可以掛起的函數,任務則是對協程進一步封裝,其中包含任務的各種狀態。

(4)future: 代表將來執行或沒有執行的任務的結果。它和task上沒有本質的區別

(5)async/await 關鍵字:python3.5 用于定義協程的關鍵字,async定義一個協程,await用于掛起阻塞的異步調用接口。

2、實例

import asyncio
 
import time
 
 
 
now = lambda: time.time()
 
async def do_some_work(x):
 
    print('Waiting: {}s'.format(x))
 
 
 
    await asyncio.sleep(x)
 
    return 'Done after {}s'.format(x)
 
 
 
async def main():
 
    coroutine1 = do_some_work(1)
 
    coroutine2 = do_some_work(5)
 
    coroutine3 = do_some_work(3)
 
 
 
    tasks = [
 
        asyncio.ensure_future(coroutine1),
 
        asyncio.ensure_future(coroutine2),
 
        asyncio.ensure_future(coroutine3)
 
    ]
 
    done, pending = await asyncio.wait(tasks)
 
    for task in done:
 
        print('Task ret: ', task.result())
 
 
 
start = now()
 
 
 
loop = asyncio.get_event_loop()
 
task = asyncio.ensure_future(main())
 
try:
 
    loop.run_until_complete(task)
 
    print('TIME: ', now() - start)
 
except KeyboardInterrupt as e:
 
    print(asyncio.Task.all_tasks())
 
    print(asyncio.gather(*asyncio.Task.all_tasks()).cancel())
 
    loop.stop()
 
    loop.run_forever()
 
finally:
 
    loop.close()

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

绵竹市| 正蓝旗| 福清市| 朝阳县| 甘德县| 青阳县| 苗栗市| 吴江市| 包头市| 常州市| 兴山县| 大悟县| 新密市| 津南区| 万荣县| 漯河市| 盐源县| 临沧市| 二手房| 鹰潭市| 新丰县| 保康县| 邻水| 广安市| 晋州市| 安庆市| 莱芜市| 定远县| 霍林郭勒市| 留坝县| 湘潭市| 抚松县| 兰西县| 秦安县| 小金县| 滁州市| 大同县| 嘉峪关市| 罗山县| 平谷区| 伊春市|