亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

怎么在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

东辽县| 枝江市| 绥棱县| 康定县| 武强县| 屏东市| 嘉义市| 策勒县| 民乐县| 屯昌县| 古蔺县| 西充县| 四平市| 楚雄市| 株洲县| 搜索| 江门市| 南和县| 漯河市| 金昌市| 南召县| 宝兴县| 合水县| 神池县| 齐齐哈尔市| 安仁县| 遂溪县| 平昌县| 贡嘎县| 商南县| 赤城县| 大港区| 富蕴县| 日土县| 绥宁县| 天门市| 江阴市| 富裕县| 务川| 嵩明县| 深圳市|