2017-09-19 3 views
1
import asyncio, aiohttp, logging, time, random 

pause = 1/10 

async def req(i): 
    await asyncio.sleep(random.randint(1, 5)) 

async def run(): 
    for i in range(100): 
     asyncio.ensure_future(req(i)) 
     t0 = time.time() 
     await asyncio.sleep(pause) 
     print(time.time() - t0) 
    tasks = asyncio.Task.all_tasks() 
    if len(tasks) != 1: 
     tasks.remove(asyncio.Task.current_task()) 
     await asyncio.wait(tasks) 

loop = asyncio.get_event_loop() 
loop.run_until_complete(run()) 

出力は次のとおりなぜasyncio.sleep(遅延)は指定された遅延よりも早く完了しますか?

output

はなぜasyncio.sleep(ポーズ)が0.093654s後に終了した待つ????????????

答えて

0

これは、Windowsでのasyncioのバグ/機能です。ディスカッションhereを読むことができます。

関連する問題