<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
If I understand correctly asyncio, coroutines, etc. (and, of course,
Threads) are not simultaneously executed, and that if one wants that
one must still use multiprocessing. But I'm not sure. The note is
still there at the start of threading, so I'm pretty sure about that
one. <br>
<br>
The requirement that coroutines always be awaited seems to confirm
this, but doesn't really say so explicitly. And the
concurrent.futures can clearly be either, depending on your choices,
but the chart in 18.5.3.1.3 Example: Chain coroutines is of a kind
that I am more familiar with in the context of multiprocessing.
(E.g., the only gap in the chart, which extends across all headings
is when a result is being waited for during a sleep.) For threaded
execution I would expect there to be a gap whenever processing is
shifted from one column to another.<br>
<br>
If someone has authority to edit the documentation a comment like:<br>
<br>
If you want your application to make better use of the computational
resources of multi-core machines, you are advised to use
<a class="reference internal"
href="https://docs.python.org/3.5/library/multiprocessing.html#module-multiprocessing"
title="multiprocessing: Process-based parallelism."><tt
class="xref py py-mod docutils literal"><span class="pre">multiprocessing</span></tt></a>
or <a class="reference internal"
href="https://docs.python.org/3.5/library/concurrent.futures.html#concurrent.futures.ProcessPoolExecutor"
title="concurrent.futures.ProcessPoolExecutor"><tt class="xref py
py-class docutils literal"><span class="pre">concurrent.futures.ProcessPoolExecutor</span></tt></a>.
However, threading is still an appropriate model if you want to run
multiple I/O-bound tasks simultaneously.<br>
<br>
(to quote from the threading documentation) would be helpful at or
very near the top of each of the appropriate modules. It would also
be useful if the modules that were definitely intended to result in
simultaneous execution, when feasible, were so marked quite near the
top.<br>
<br>
OTOH, I may be mistaken about coroutines. I haven't been able to
tell.<br>
<br>
P.S.: I do note that the threading comment was a "<strong>CPython
implementation detail:"</strong>, and not a part of the Python
specifications. But CPython is, I believe, a sufficiently dominant
implementation that such details are quite important.<br>
</body>
</html>