最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python獲取協(xié)程返回值的四種方式詳解

 更新時(shí)間:2021年12月16日 08:53:04   作者:三爺帶你飛  
這篇文章主要為大家介紹了Python中獲取協(xié)程返回值的四種方法的示例代碼,文中的代碼詳細(xì)易懂,對(duì)我們學(xué)習(xí)Python有一定的幫助,需要的朋友可以了解一下

介紹

獲取協(xié)程返回值的四種方式:

1、通過(guò)ensure_future獲取,本質(zhì)是future對(duì)象中的result方

2、使用loop自帶的create_task, 獲取返回值

3、使用callback, 一旦await地方的內(nèi)容運(yùn)行完,就會(huì)運(yùn)行callback

4、使用partial這個(gè)模塊向callback函數(shù)中傳入值

源碼

import asyncio
from functools import partial


async def talk(name):
    print(f"talk function run.")
    await asyncio.sleep(0.1)
    return f"{name} talk!"


async def sleep(name):
    print(f"sleep function run.")
    await asyncio.sleep(0.1)
    return f"{name} sleep!"


def callback(name):
    print(f"主動(dòng)拋出接收:{name}")


if __name__ == "__main__":
    # 通過(guò)ensure_future獲取,本質(zhì)是future對(duì)象中的result方法
    # loop = asyncio.get_event_loop()
    # get_future1 = asyncio.ensure_future(talk("Dog"))
    # get_future2 = asyncio.ensure_future(sleep("Cat"))
    # loop.run_until_complete(get_future1)
    # loop.run_until_complete(get_future2)
    # print(get_future1.result())
    # print(get_future2.result())

    # 使用loop自帶的create_task, 獲取返回值
    # loop = asyncio.get_event_loop()
    # task1 = loop.create_task(talk("Dog"))
    # task2 = loop.create_task(sleep("Cat"))
    # loop.run_until_complete(task1)
    # loop.run_until_complete(task2)
    # print(task1.result())
    # print(task2.result())

    # 使用callback, 一旦await地方的內(nèi)容運(yùn)行完,就會(huì)運(yùn)行callback
    # loop = asyncio.get_event_loop()
    # task1 = loop.create_task(talk("Dog"))
    # task2 = loop.create_task(sleep("Cat"))
    # task1.add_done_callback(callback)
    # task2.add_done_callback(callback)
    # loop.run_until_complete(task1)
    # loop.run_until_complete(task2)
    # print(task1.result())
    # print(task2.result())

    # 使用partial這個(gè)模塊向callback函數(shù)中傳入值
    loop = asyncio.get_event_loop()
    task1 = loop.create_task(talk("Dog"))
    task2 = loop.create_task(talk("Cat"))
    task1.add_done_callback(partial(callback))
    task2.add_done_callback(partial(callback))
    loop.run_until_complete(task1)
    loop.run_until_complete(task2)
    print(task1.result())
    print(task2.result())

依次執(zhí)行結(jié)果

通過(guò)ensure_future獲取,本質(zhì)是future對(duì)象中的result方法

使用loop自帶的create_task, 獲取返回值

用callback, 一旦await地方的內(nèi)容運(yùn)行完,就會(huì)運(yùn)行callback

使用partial這個(gè)模塊向callback函數(shù)中傳入值

到此這篇關(guān)于Python獲取協(xié)程返回值的四種方式詳解的文章就介紹到這了,更多相關(guān)Python獲取協(xié)程返回值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解決Python3.8用pip安裝turtle-0.0.2出現(xiàn)錯(cuò)誤問(wèn)題

    解決Python3.8用pip安裝turtle-0.0.2出現(xiàn)錯(cuò)誤問(wèn)題

    turtle庫(kù)是python的基礎(chǔ)繪圖庫(kù),這個(gè)庫(kù)被介紹為一個(gè)最常用的用來(lái)給孩子們介紹編程知識(shí)的方法庫(kù),這篇文章主要介紹了解決Python3.8用pip安裝turtle-0.0.2出現(xiàn)錯(cuò)誤問(wèn)題,需要的朋友可以參考下
    2020-02-02
  • Python獲取單個(gè)程序CPU使用情況趨勢(shì)圖

    Python獲取單個(gè)程序CPU使用情況趨勢(shì)圖

    這篇文章主要介紹了Python獲取單個(gè)程序CPU使用情況趨勢(shì)圖,本文使用matplotlib將數(shù)據(jù)可視化,需要的朋友可以參考下
    2015-03-03
  • Pytest使用fixture實(shí)現(xiàn)token共享的方法

    Pytest使用fixture實(shí)現(xiàn)token共享的方法

    同學(xué)們?cè)谧鰌ytest接口自動(dòng)化時(shí),會(huì)遇到一個(gè)場(chǎng)景就是不同的測(cè)試用例需要有一個(gè)登錄的前置步驟,登錄完成后會(huì)獲取到token,用于之后的代碼中,本文給大家介紹Pytest使用fixture實(shí)現(xiàn)token共享的方法,感興趣的朋友一起看看吧
    2023-11-11
  • 一文了解conda虛擬環(huán)境的使用及常見(jiàn)問(wèn)題

    一文了解conda虛擬環(huán)境的使用及常見(jiàn)問(wèn)題

    管理不同項(xiàng)目的依賴(lài)關(guān)系是一個(gè)常見(jiàn)而棘手的問(wèn)題,本文主要介紹了一文了解conda虛擬環(huán)境的使用及常見(jiàn)問(wèn)題,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • Windows安裝Python、pip、easy_install的方法

    Windows安裝Python、pip、easy_install的方法

    這篇文章主要介紹了Windows安裝Python、pip、easy_install的方法,需要的朋友可以參考下
    2017-03-03
  • python基礎(chǔ)之變量和數(shù)據(jù)類(lèi)型

    python基礎(chǔ)之變量和數(shù)據(jù)類(lèi)型

    這篇文章主要介紹了python的變量和數(shù)據(jù)類(lèi)型,實(shí)例分析了Python中返回一個(gè)返回值與多個(gè)返回值的方法,需要的朋友可以參考下
    2021-10-10
  • Centos安裝python3與scapy模塊的問(wèn)題及解決方法

    Centos安裝python3與scapy模塊的問(wèn)題及解決方法

    這篇文章主要介紹了Centos安裝python3與scapy模塊的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • python中15種3D繪圖函數(shù)總結(jié)

    python中15種3D繪圖函數(shù)總結(jié)

    這篇文章主要為大家詳細(xì)介紹了python中15種3D繪圖函數(shù)的用法,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-09-09
  • Pytest+Allure使用示例教程

    Pytest+Allure使用示例教程

    Allure是開(kāi)源的免費(fèi)的自動(dòng)化測(cè)試報(bào)告,支持Java,Python,我們來(lái)看看如何使用Python pytest與Allure整合,輸出漂亮的測(cè)試報(bào)告,這篇文章主要介紹了Pytest+Allure使用教程,需要的朋友可以參考下
    2023-12-12
  • 一文帶你搞懂Python中的文件操作

    一文帶你搞懂Python中的文件操作

    這篇文章主要為大家詳細(xì)介紹了Python中常見(jiàn)的文件操作的相關(guān)資料,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定的幫助,感興趣的可以了解一下
    2022-11-11

最新評(píng)論

沙雅县| 山东| 新竹市| 雷州市| 亚东县| 长丰县| 平山县| 金湖县| 永寿县| 凤城市| 奉贤区| 佳木斯市| 娱乐| 客服| 黑水县| 昭觉县| 祥云县| 中方县| 鱼台县| 西城区| 越西县| 海门市| 万全县| 芒康县| 通许县| 湘西| 大埔县| 宝坻区| 绥江县| 平潭县| 冷水江市| 新疆| 鹤峰县| 馆陶县| 蓬莱市| 若尔盖县| 遵化市| 巧家县| 景洪市| 绥棱县| 安福县|