diff --git a/Doc/library/multiprocessing.rst b/Doc/library/multiprocessing.rst index 9b173540219c77..a2fbd95ba986b9 100644 --- a/Doc/library/multiprocessing.rst +++ b/Doc/library/multiprocessing.rst @@ -111,6 +111,8 @@ Contexts and start methods Depending on the platform, :mod:`multiprocessing` supports three ways to start a process. These *start methods* are + .. _multiprocessing-start-method-spawn: + *spawn* The parent process starts a fresh Python interpreter process. The child process will only inherit those resources necessary to run @@ -121,6 +123,8 @@ to start a process. These *start methods* are Available on POSIX and Windows platforms. The default on Windows and macOS. + .. _multiprocessing-start-method-fork: + *fork* The parent process uses :func:`os.fork` to fork the Python interpreter. The child process, when it begins, is effectively @@ -141,6 +145,8 @@ to start a process. These *start methods* are raise a :exc:`DeprecationWarning`. Use a different start method. See the :func:`os.fork` documentation for further explanation. + .. _multiprocessing-start-method-forkserver: + *forkserver* When the program starts and selects the *forkserver* start method, a server process is spawned. From then on, whenever a new process @@ -3025,6 +3031,9 @@ Beware of replacing :data:`sys.stdin` with a "file like object" For more information, see :issue:`5155`, :issue:`5313` and :issue:`5331` +.. _multiprocessing-programming-spawn: +.. _multiprocessing-programming-forkserver: + The *spawn* and *forkserver* start methods ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^