summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2021-05-14 06:07:20 (GMT)
committerGitHub <noreply@github.com>2021-05-14 06:07:20 (GMT)
commit464269778b10d928be453237593696d192b1b947 (patch)
treec3a55b1b8ad1ae3526602da45426b9380b5e883c /Doc
parente7d25d3f3b335eb46d102137b447325f54750e31 (diff)
downloadcpython-464269778b10d928be453237593696d192b1b947.zip
cpython-464269778b10d928be453237593696d192b1b947.tar.gz
cpython-464269778b10d928be453237593696d192b1b947.tar.bz2
Updated code example for asyncio.gather (GH-20604) (GH-26119)
The previous example did not fully showcase the interest of using gather. Here the example showcases "the result is an aggregate list of returned values". (cherry picked from commit 56b8ea65d28bd865e2363e10e9f1c2ca3433ffc2) Co-authored-by: josephernest <nouvellecollection@gmail.com> Co-authored-by: josephernest <nouvellecollection@gmail.com>
Diffstat (limited to 'Doc')
-rw-r--r--Doc/library/asyncio-task.rst19
1 files changed, 11 insertions, 8 deletions
diff --git a/Doc/library/asyncio-task.rst b/Doc/library/asyncio-task.rst
index 3f54ecb..69e965c 100644
--- a/Doc/library/asyncio-task.rst
+++ b/Doc/library/asyncio-task.rst
@@ -358,32 +358,35 @@ Running Tasks Concurrently
async def factorial(name, number):
f = 1
for i in range(2, number + 1):
- print(f"Task {name}: Compute factorial({i})...")
+ print(f"Task {name}: Compute factorial({number}), currently i={i}...")
await asyncio.sleep(1)
f *= i
print(f"Task {name}: factorial({number}) = {f}")
+ return f
async def main():
# Schedule three calls *concurrently*:
- await asyncio.gather(
+ L = await asyncio.gather(
factorial("A", 2),
factorial("B", 3),
factorial("C", 4),
)
+ print(L)
asyncio.run(main())
# Expected output:
#
- # Task A: Compute factorial(2)...
- # Task B: Compute factorial(2)...
- # Task C: Compute factorial(2)...
+ # Task A: Compute factorial(2), currently i=2...
+ # Task B: Compute factorial(3), currently i=2...
+ # Task C: Compute factorial(4), currently i=2...
# Task A: factorial(2) = 2
- # Task B: Compute factorial(3)...
- # Task C: Compute factorial(3)...
+ # Task B: Compute factorial(3), currently i=3...
+ # Task C: Compute factorial(4), currently i=3...
# Task B: factorial(3) = 6
- # Task C: Compute factorial(4)...
+ # Task C: Compute factorial(4), currently i=4...
# Task C: factorial(4) = 24
+ # [2, 6, 24]
.. note::
If *return_exceptions* is False, cancelling gather() after it