diff options
author | Gregory P. Smith <greg@krypto.org> | 2024-11-11 19:19:08 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-11 19:19:08 (GMT) |
commit | 4f3253a0ccf3a512c497f779e4a6db2656c75844 (patch) | |
tree | 0ff5924823fd1ef1dfb849f43a684c3738acfb61 /Doc | |
parent | 6e25eb15410f781f632d536d555f38879432522c (diff) | |
download | cpython-4f3253a0ccf3a512c497f779e4a6db2656c75844.zip cpython-4f3253a0ccf3a512c497f779e4a6db2656c75844.tar.gz cpython-4f3253a0ccf3a512c497f779e4a6db2656c75844.tar.bz2 |
gh-84559: gh-103134: Whats new 3.14 entries for multiprocessing. (GH-126697)
Diffstat (limited to 'Doc')
-rw-r--r-- | Doc/whatsnew/3.14.rst | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/Doc/whatsnew/3.14.rst b/Doc/whatsnew/3.14.rst index 4b2a64f..c8f7dd1 100644 --- a/Doc/whatsnew/3.14.rst +++ b/Doc/whatsnew/3.14.rst @@ -250,6 +250,12 @@ concurrent.futures same process) to Python code. This is separate from the proposed API in :pep:`734`. (Contributed by Eric Snow in :gh:`124548`.) +* The default ``ProcessPoolExecutor`` start method (see + :ref:`multiprocessing-start-methods`) changed from *fork* to *forkserver* on + platforms other than macOS & Windows. If you require the threading + incompatible *fork* start method you must explicitly request it by + supplying a *mp_context* to :class:`concurrent.futures.ProcessPoolExecutor`. + (Contributed by Gregory P. Smith in :gh:`84559`.) ctypes ------ @@ -357,6 +363,25 @@ json (Contributed by Trey Hunner in :gh:`122873`.) +multiprocessing +--------------- + +* The default start method (see :ref:`multiprocessing-start-methods`) changed + from *fork* to *forkserver* on platforms other than macOS & Windows where + it was already *spawn*. If you require the threading incompatible *fork* + start method you must explicitly request it using a context from + :func:`multiprocessing.get_context` (preferred) or change the default via + :func:`multiprocessing.set_start_method`. + (Contributed by Gregory P. Smith in :gh:`84559`.) +* The :ref:`multiprocessing proxy objects <multiprocessing-proxy_objects>` + for *list* and *dict* types gain previously overlooked missing methods: + + * :meth:`!clear` and :meth:`!copy` for proxies of :class:`list`. + * :meth:`~dict.fromkeys`, ``reversed(d)``, ``d | {}``, ``{} | d``, + ``d |= {'b': 2}`` for proxies of :class:`dict`. + + (Contributed by Roy Hyunjin Han for :gh:`103134`) + operator -------- @@ -511,14 +536,6 @@ Deprecated as a single positional argument. (Contributed by Serhiy Storchaka in :gh:`109218`.) -* :mod:`multiprocessing` and :mod:`concurrent.futures`: - The default start method (see :ref:`multiprocessing-start-methods`) changed - away from *fork* to *forkserver* on platforms where it was not already - *spawn* (Windows & macOS). If you require the threading incompatible *fork* - start method you must explicitly specify it when using :mod:`multiprocessing` - or :mod:`concurrent.futures` APIs. - (Contributed by Gregory P. Smith in :gh:`84559`.) - * :mod:`os`: :term:`Soft deprecate <soft deprecated>` :func:`os.popen` and :func:`os.spawn* <os.spawnl>` functions. They should no longer be used to |