From: Victor Stinner Date: Tue, 10 Dec 2013 01:51:05 +0000 (+0100) Subject: asyncio: fix 2nd task example X-Git-Tag: v3.4.0b2~273 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=34f2946a11b4d91a54da1a4d257ab3dd2b828ade;p=python asyncio: fix 2nd task example --- diff --git a/Doc/library/asyncio-task.rst b/Doc/library/asyncio-task.rst index 38cf333ad1..f42aaa7de8 100644 --- a/Doc/library/asyncio-task.rst +++ b/Doc/library/asyncio-task.rst @@ -315,13 +315,13 @@ Example executing 3 tasks (A, B, C) in parallel:: import asyncio @asyncio.coroutine - def factorial(task, n): + def factorial(name, number): f = 1 - for i in range(2, n+1): - print("[%s] Compute factorial(%s)..." % (task, i)) + for i in range(2, number+1): + print("Task %s: Compute factorial(%s)..." % (name, i)) yield from asyncio.sleep(1) - f *= n - print("[%s] factorial(%s) = %s" % (task, n, f)) + f *= i + print("Task %s: factorial(%s) = %s" % (name, number, f)) task_a = asyncio.Task(factorial("A", 2)) task_b = asyncio.Task(factorial("B", 3)) @@ -333,17 +333,17 @@ Example executing 3 tasks (A, B, C) in parallel:: Output:: - [A] Compute factorial(2)... - [B] Compute factorial(2)... - [C] Compute factorial(2)... - [A] factorial(2) = 2 - [B] Compute factorial(3)... - [C] Compute factorial(3)... - [B] factorial(3) = 9 - [C] Compute factorial(4)... - [C] factorial(4) = 64 - -When a task is created, it is automatically scheduled for execution. The event + Task A: Compute factorial(2)... + Task B: Compute factorial(2)... + Task C: Compute factorial(2)... + Task A: factorial(2) = 2 + Task B: Compute factorial(3)... + Task C: Compute factorial(3)... + Task B: factorial(3) = 6 + Task C: Compute factorial(4)... + Task C: factorial(4) = 24 + +A task is automatically scheduled for execution when it is created. The event loop stops when all tasks are done.