Python高阶---协程并发

news/发布时间2024/5/18 15:01:56

import asyncio
import time

====================================

1.定义协程对象

async def hello(x):
# time.sleep(x) # time.sleep是一个同步操作语句,无法达到异步的结果
print('-222-', x)
await asyncio.sleep(x)
return '等待了{}秒'.format(x)
# return x

if name == 'main':

s_time = time.time()# 2.创建协程对象
coro1 = hello(1)
coro2 = hello(2)
coro3 = hello(3)# # 3.获取事件循环对象容器
loop = asyncio.get_event_loop()
# 4.将协程对象转化为task
tasks = [asyncio.ensure_future(coro1),asyncio.ensure_future(coro2),asyncio.ensure_future(coro3)]   # 建议使用# 5.将task任务扔进事件循环对象触发
# 将tasks注册到事件循环中
# 两种方法:asyncio.wait, asyncio.gather
# 第一种方法:asyncio.wait
# loop.run_until_complete(asyncio.wait(tasks))       # wait方法只接受列表作为参数
# 第二种方法:asyncio.gather
loop.run_until_complete(asyncio.gather(*tasks))      # gather方法方法接收不定量参数
for task in tasks:print('任务返回的结果是:', task.result())         # 获取回调结果e_time = time.time()
print('总时间:', e_time - s_time)
# =============================================

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ulsteruni.cn/article/54805653.html

如若内容造成侵权/违法违规/事实不符,请联系编程大学网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

[openbve站]oldhelps openbve站v0.0.2推出上线公测

[openbve站]oldhelps openbve站v0.0.2推出上线公测 目录[openbve站]oldhelps openbve站v0.0.2推出上线公测1.归档页面增加图片显示 今天(5.4)起,openbve站上线第二个版本。此次更新的主要内容: 1.归档页面增加图片显示

python教程3.3:字符和编码

1、二进制 计算机只能存储和识别二进制,但是人类常用的字母、数字、汉字怎么用计算机存储和识别呢? 人类强行约定一个对应表,把数字、字母和数字进行对应上,这样就可以用二进制表示字母和数字了。 2、ASCII编码 ASCII是美国于1967年创建,只有127个字母和数字(后面扩展128个…

团队作业3--需求改进系统设计

这个作业属于哪个课程 软件工程这个作业要求在哪里 团队作业3--需求改进&系统设计这个作业的目标 明确需求、改进原型、系统设计和测试需求团队Gitee仓库链接 Gitee鏈接团队成员:姓名 学号蔡梓严(队长) 3122004686刘睿 3122004697吴炳辉 3122004709陈翼 3122006207林诗芸…

DNF pvf 各版本客户端下载大全

整个客户端,pvf文件占1600多个G全部版本文件获取: https://githubs.xyz/y16.html60版本,70版本,86,86版本,90等全部都有纯净月魂86版本月魂的初版,没有任何修改。 怪物难度强度大。也是我最推荐的版本。朝暮,追忆,原仿官都有。 算了,我摊牌了,基本上什么版本都有。6…

python包:torchsummary

利用torchsummary观察每一层的情况1)按照方式 pip install torchsummary 2)

16.5k star,开源推荐,go语言写的堡垒机

16.5k star,开源推荐,go语言写的堡垒机 原创 大侠之运维 大侠之运维 2024-05-04 00:02 江西teleport是一款go语言写的堡垒机,目前已经开源,可以自己部署体验下,teleport适合主机、kubernetes、数据库、RDP以及web服务。传送门:https://github.com/gravitational/teleport…