python asyncio
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")
关于运行协程的方式,我们就了解到这啦!
-
扒胎机的操作步骤是什么?
扒胎机的操作步骤是:1、清除扒胎机上及附近妨碍作业的器具及杂物,检查机器各部是否正常。2、将轮胎放到轮胎挤压位置,用轮缘拆离蹄压迫轮胎使之与钢圈离缝,使轮胎和钢圈彻底分离。3、...
问答查看全文>> -
后视镜看车尾的位置?
后视镜里面的车辆或者阻碍物离我们有多远,可以通过在镜子里的比例来看:1、后车占据了镜子全部时,两者车距在3米左右;后车占据了后视镜的三分之二时,两者车距约为5米;2、后车占据了...
问答查看全文>> -
财务科年终总结如何写
财务科年终总结怎么写呢?一起来看看小编今天的分享吧。1、财务科年终总结首先可以描写财务科重视日常财务收支管理工作;2、然后可以描写加强配套费核算的管理工作;3、其次可以描写认真...
教育查看全文>> -
大众速腾车钥匙怎么换电池
更换电池操作步骤:1、翻开轿车钥匙头;用一合适的器具(例如,硬币)沿图中方向拆下轿车钥匙后侧的盖板;2、用一合适的扁平器具从电池盒里撬出电池。3、安放新电池,然后沿 箭头相反方...
问答查看全文>> -
中华v3真实油耗多少?
中华v3这款车真实油耗介绍:1、中华v3这款车真实油耗1.5 5挡手动 1.5L 112马力 L4 BM15LC 平均油耗:8.29 油耗范围: 7.139.45;2、中华V3...
问答查看全文>>
推荐
- 1米聊保存到本地的视频在哪266
- 2国四发动机冒黑烟无力怎么办?197
- 3充电桩离居民楼多少米?新能源车充电桩可以自己安装吗147
- 4初中好词好句摘录366
- 5五年级一件小事作文479
- 6大众桑塔纳2019款怎么样?255
- 719款现代途胜后视镜加热开关在哪里?492
- 8现代全新胜达二手车怎么样?136