asyncio.gather の実行順が不定だった
import asyncio @asyncio.coroutine def f(n): print(n) return n loop = asyncio.get_event_loop() results = loop.run_until_complete(asyncio.gather(f(1), f(2), f(3))) print(results)
実行結果:
1
3
2
[1, 2, 3]
同じ future/coroutine を何度も実行してしまわないようにか、 一度 set に入れたものを実行していっているようで、 引数で渡した順番に実行されるとは限らないっぽい。