協程移步執行
主要注意:
- 當作任務執行的函數前面要加async修飾。async def req(url):
- 生成協程任務用: task=asyncio.ensure_future(c)
- 放入的任務要用asyncio.wait(tasks)才能實現異步執行
loop=asyncio.get_event_loop()
loop.run_until_complete(asyncio.wait(tasks))
import time
tasks=[]
urls=['url1','url2','url3','url4']
async def req(url):
print('start')
asyncio.sleep(2)#這是異步執行語句
#time.sleep()#這是同步執行語句,所以不能用這種語句
print('end')
for url in urls:
c=req(url)
task=asyncio.ensure_future(c)
tasks.append(task)
loop=asyncio.get_event_loop()
loop.run_until_complete(asyncio.wait(tasks))