当前位置:家常菜>百科>科技>正文

python asyncio

人气:120 ℃/2024-05-27 09:50:50

python协程库asyncio的运行方式有哪些?我们一起了解一下吧!

asyncio 是以协程的模式来编写并发的库,使用 async/await 语法。在 IO密集型 的网络编程里,异步IO 协程 省去了开辟新的线程和进程的开销。asyncio 是 Python3.4 版本引入到标准库,python3.5 加入了 async/await 特性。下面我们就来分享一下运行协程的几种方式。

使用 async 声明协程

async def asyncTask():

    # 协程休眠

    await asyncio.sleep(1)

    print(time.strftime('%X'))

运行协程的几种方式:

1、asyncio.run() 函数用来在非协程函数中调用协程

asyncio.run(asyncTask())

2、使用 await 等待一个协程。

await asyncTask()

3、asyncio.create_task() 用函数将协程打包为一个 Task 排入日程准备执行,返回 asyncio.Task 对象。

此函数 在 Python 3.7 中被加入。

task1 = asyncio.create_task(asyncTask1())task2 = asyncio.create_task(asyncTask2())await task1await task2

4、使用 asyncio.gather() 函数来并发多个协程。

tasks = asyncio.gather(asyncTask1(), asyncTask2())tasks2 = asyncio.gather(*[asyncTask1(), asyncTask2()])await tasksawait tasks2

具体示例:

import asyncioimport time# 定义协程任务async def asyncTask1():

    # 协程休眠

    await asyncio.sleep(1)

    print(time.strftime('%X'), 1)async def asyncTask2():

    await asyncio.sleep(2)

    print(time.strftime('%X'), 2)async def main():

    task1 = asyncio.create_task(asyncTask1())

    task2 = asyncio.create_task(asyncTask2())

    tasks = asyncio.gather(asyncTask1(), asyncTask2())

    tasks2 = asyncio.gather(*[asyncTask1(), asyncTask2()])    await tasks    await tasks2    await task1    await task2

print(time.strftime('%X'), "start")

asyncio.run(main())

print(time.strftime('%X'), "end")

关于运行协程的方式,我们就了解到这啦!

  • 华为hcia是什么啊

    很多朋友都想知道华为hcia是什么?下面就一起来了解一下吧!华为hcia的全称为Huawei Certified ICT Associate,意思是华为认证ICT工程师,是华为...

    科技查看全文>>
  • 后视镜加热的作用

    目前很多车都已经配有这项功能,基本上是很普及的一项基本功能,在雨雪天气,或者是温度很低的情况下才能使用到这项功能,后视镜加热完美的解决了雨雪天气出行安全及开车视野不好的问题,对...

    问答查看全文>>
  • 赵四经典语录

    1、刘大脑袋昨晚上俺家想污辱我,被我拒绝了。刘大脑袋你没侮辱我我裤腰带怎么开了呢。2、什么是单挑!就是你一个打我们四个,什么是群殴呢,就是我们四个打你一个。3、断我吃行,断我喝...

    语录查看全文>>
  • 汽车痒传感器坏了表现

    首先,是氧传感器,不是痒传感器,系错被子。坏了的表现:氧传感器中毒、油门积碳(大量冒黑烟)、发动机动力不足、加热器电阻丝烧断。一、氧传感器中毒。对于经常使用含铅汽油的车辆,氧传...

    问答查看全文>>
  • 户外传媒哪个牌子好 户外传媒十大品牌排行榜

    为您整理了户外传媒哪个牌子好,分别有航美传媒Airmedia、华视传媒、分众传媒、德高/JCDecaux、白马传媒、海峡彩亮、大贺传媒、巴士在线BUSAP、TOM户外、百灵时代...

    品牌查看全文>>
本网站部分内容、图文来自于网络,如有内容侵犯您的合法权益,请及时与我们联系,我们将第一时间安排核实及删除!
CopyRight © 2007-2024 家常菜 All Rights Reserved. 手机版