zoukankan      html  css  js  c++  java
  • 多任务+异步协程


    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)
  • 相关阅读:
    vim
    Linux 软链接和硬链接
    常用命令
    linux 二级目录结构
    关于bash shell的理解
    虚拟机网络模式
    安装虚拟机
    date 命令
    使用3种协议搭建yum仓库
    ubuntu update时发生错误
  • 原文地址:https://www.cnblogs.com/well-666/p/12880012.html
Copyright © 2011-2022 走看看