]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-96098: Clearly link concurrent.futures from threading & multiprocessing docs ...
authorNick Coghlan <ncoghlan@gmail.com>
Sun, 21 Aug 2022 02:09:05 +0000 (14:09 +1200)
committerGitHub <noreply@github.com>
Sun, 21 Aug 2022 02:09:05 +0000 (14:09 +1200)
Clearly link concurrent.futures from threading & multiprocessing docs

Also link directly to asyncio from the beginning of the threading docs.

Doc/library/multiprocessing.rst
Doc/library/threading.rst
Misc/NEWS.d/next/Documentation/2022-08-19-17-07-45.gh-issue-96098.nDp43u.rst [new file with mode: 0644]

index eaa946462a11c68b80cc64e54b32668bbf70300a..caf24a35fdfc84950ee9a4448374fb8e8ab164b8 100644 (file)
@@ -45,6 +45,16 @@ will print to standard output ::
    [1, 4, 9]
 
 
+.. seealso::
+
+   :class:`concurrent.futures.ProcessPoolExecutor` offers a higher level interface
+   to push tasks to a background process without blocking execution of the
+   calling process. Compared to using the :class:`~multiprocessing.pool.Pool`
+   interface directly, the :mod:`concurrent.futures` API more readily allows
+   the submission of work to the underlying process pool to be separated from
+   waiting for the results.
+
+
 The :class:`Process` class
 ~~~~~~~~~~~~~~~~~~~~~~~~~~
 
index a8851dd15052ef7896349579c748b1611a3c544f..b22d48766224377eda798e8ec3d240d7775fec5a 100644 (file)
@@ -9,11 +9,23 @@
 --------------
 
 This module constructs higher-level threading interfaces on top of the lower
-level :mod:`_thread` module.  See also the :mod:`queue` module.
+level :mod:`_thread` module.
 
 .. versionchanged:: 3.7
    This module used to be optional, it is now always available.
 
+.. seealso::
+
+   :class:`concurrent.futures.ThreadPoolExecutor` offers a higher level interface
+   to push tasks to a background thread without blocking execution of the
+   calling thread, while still being able to retrieve their results when needed.
+
+   :mod:`queue` provides a thread-safe interface for exchanging data between
+   running threads.
+
+   :mod:`asyncio` offers an alternative approach to achieving task level
+   concurrency without requiring the use of multiple operating system threads.
+
 .. note::
 
    In the Python 2.x series, this module contained ``camelCase`` names
diff --git a/Misc/NEWS.d/next/Documentation/2022-08-19-17-07-45.gh-issue-96098.nDp43u.rst b/Misc/NEWS.d/next/Documentation/2022-08-19-17-07-45.gh-issue-96098.nDp43u.rst
new file mode 100644 (file)
index 0000000..5ead20b
--- /dev/null
@@ -0,0 +1,3 @@
+Improve discoverability of the higher level concurrent.futures module by
+providing clearer links from the lower level threading and multiprocessing
+modules.