#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2020/7/14 23:10 # @Author : Shuranima # @File : asyncio单任务协程.py # 协程的使用创建和单任务协程 import asyncio async def repsonse(url): print(url) if __name__ == '__main__': url = 'www.baidu.com' c = repsonse(url) #返回一个协程对象 # #直接创建协程 # loop = asyncio.get_event_loop() # loop.run_until_complete(c) # #使用task创建 # loop = asyncio.get_event_loop() #创建一个事件循环 # task = loop.create_task(c) #任务 就是讲协程对象进行封装 带有状态等 # print(task) #> # loop.run_until_complete(task) #注册并启动协程对象 # print(task) #result=None> #使用future创建 loop = asyncio.get_event_loop() #创建一个事件循环 task = asyncio.ensure_future(c) #任务 就是讲协程对象进行封装 带有状态等 print(task) #> loop.run_until_complete(task) #注册并启动协程对象 print(task) #result=None>
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2020/7/14 23:11 # @Author : Shuranima # @File : asyncio多任务协程.py # 使用多任务协程 import asyncio async def repsonse(url): print(url) if __name__ == '__main__': urls = ['www.baidu.com', 'www.google.com', 'www.hao123.com', 'www.yunchangkm.com'] loop = asyncio.get_event_loop() tasks = [] for url in urls: tasks.append(asyncio.ensure_future(repsonse(url))) loop.run_until_complete(asyncio.wait(tasks))