首页 > 其他 > 详细

多任务+异步协程

时间:2020-05-13 09:09:52      阅读:47      评论:0      收藏:0      [点我收藏+]

import asyncio
import time
import aiohttp

class Start_task(object):

def __init__(self):
self.tasks = []
async def func(self):
‘‘‘协程任务‘‘‘
print("协程任务")

def callback(self):
‘‘‘回调函数‘‘‘
pass

def start_task(self):

loon = asyncio.get_event_loop()
loon.run_until_complete(asyncio.await(self.tasks))






import asyncio
from time import sleep
import time
#函数的定义
async def get_request(url):
print(‘正在请求:‘,url)
await asyncio.sleep(3)
print(‘请求结束:‘,url)
return ‘bobo‘

def parse(task):
print(‘i am task callback()!!!=----‘,task.result())


#创建3个协程对象
urls = [
‘1.com‘,‘2.com‘,‘3.com‘
]

start = time.time()
#任务列表:存储的是多个任务对象
tasks = []
for url in urls:
c = get_request(url)
task = asyncio.ensure_future(c)
#绑定回调
task.add_done_callback(parse)
tasks.append(task)

loop = asyncio.get_event_loop()
loop.run_until_complete(asyncio.wait(tasks))

print(‘总耗时:‘,time.time()-start)

多任务+异步协程

原文:https://www.cnblogs.com/well-666/p/12880012.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!