Issue #29407: Merge from 3.6

This commit is contained in:
Berker Peksag 2017-02-01 22:38:12 +03:00
commit ebf8a6d9b0

View file

@ -472,21 +472,20 @@ Example executing 3 tasks (A, B, C) in parallel::
import asyncio import asyncio
@asyncio.coroutine async def factorial(name, number):
def factorial(name, number):
f = 1 f = 1
for i in range(2, number+1): for i in range(2, number+1):
print("Task %s: Compute factorial(%s)..." % (name, i)) print("Task %s: Compute factorial(%s)..." % (name, i))
yield from asyncio.sleep(1) await asyncio.sleep(1)
f *= i f *= i
print("Task %s: factorial(%s) = %s" % (name, number, f)) print("Task %s: factorial(%s) = %s" % (name, number, f))
loop = asyncio.get_event_loop() loop = asyncio.get_event_loop()
tasks = [ loop.run_until_complete(asyncio.gather(
asyncio.ensure_future(factorial("A", 2)), factorial("A", 2),
asyncio.ensure_future(factorial("B", 3)), factorial("B", 3),
asyncio.ensure_future(factorial("C", 4))] factorial("C", 4),
loop.run_until_complete(asyncio.gather(*tasks)) ))
loop.close() loop.close()
Output:: Output::