gh-84559: gh-103134: Whats new 3.14 entries for multiprocessing. (GH-126697)

This commit is contained in:
Gregory P. Smith 2024-11-11 11:19:08 -08:00 committed by GitHub
parent 6e25eb1541
commit 4f3253a0cc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 25 additions and 8 deletions

View File

@ -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