by shigemk2

当面は技術的なことしか書かない

trollius

お許しください 2的な書き方です。3以降は別の書き方になります pip install trollius みたいなのもひつようないです

import trollius as asyncio
from trollius import From


@asyncio.coroutine
def loop_array(name, array):
    for i in array:
        print("Task %s: Compute loop(%d)..." % (name, i))
        yield From(asyncio.sleep(0.5))
    print("Task %s loop(%d) completed! " % (name, array))


a_a = range(1, 5)
a_b = range(6, 10)
a_c = range(11, 15)
a_d = range(16, 20)
a_e = range(21, 25)

loop = asyncio.get_event_loop()

tasks = [
    asyncio.async(loop_array("A", a_a)),
    asyncio.async(loop_array("B", a_b)),
    asyncio.async(loop_array("C", a_c)),
    asyncio.async(loop_array("D", a_d)),
    asyncio.async(loop_array("E", a_e))]

loop.run_until_complete(asyncio.wait(tasks))
loop.close()