16协程的简单实现

chenzhi2023 / 2023-09-06 / 原文

 

 

import asyncio
import requests

'''
安装: pip install asyncio
python 使用协程会让程序并发能力得到提高,(只能说拥有一定的并发能力),协程是线程的升级版,比线程更高效、消耗更低。
应用场景:1.在一些io密集型任务。2.异步程序设计。
使用协程有一定的限制,函数、库要支持异步,下面的requests是不支持协程的,这里只是用于演示。

'''
# 声明协程函数
async  def request():
    url = 'https://www.baidu.com'
    status = requests.get(url)
    return status

if __name__ == '__main__':
    # 创建协程函数对象
    coroutine = request()

    # 创建任务
    task = asyncio.ensure_future(coroutine)
    print('Task:',task)

    # 创建事件循环器
    loop = asyncio.get_event_loop()

    # 把任务注册进事件循环器,也可以直接把协程函数注册进事件循环器
    loop.run_until_complete(task)

    # 输出结果,为状态码200
    print('Task:',task)
    print("task result:",task.result())