diff --git a/Doc/library/multiprocessing.rst b/Doc/library/multiprocessing.rst index 2f0f1f800fdc94..29ddf33eda5d00 100644 --- a/Doc/library/multiprocessing.rst +++ b/Doc/library/multiprocessing.rst @@ -1058,10 +1058,16 @@ Miscellaneous Return a context object which has the same attributes as the :mod:`multiprocessing` module. - If *method* is ``None`` then the default context is returned. - Otherwise *method* should be ``'fork'``, ``'spawn'``, - ``'forkserver'``. :exc:`ValueError` is raised if the specified - start method is not available. See :ref:`multiprocessing-start-methods`. + If *method* is ``None``, the default context is returned. Be aware that + calling this function with *method=None* sets the default context globally, + potentially affecting future usage of :func:`set_start_method`. To change + the method later, it is recommended to explicitly specify a method other + than ``None`` when calling this function. Otherwise, it may lead to + unexpected behavior. + + *method* should be one of the following: ``'fork'``, ``'spawn'``, or + ``'forkserver'``. A :exc:`ValueError` is raised if the specified start + method is unavailable. See :ref:`multiprocessing-start-methods`. .. versionadded:: 3.4 @@ -1069,13 +1075,23 @@ Miscellaneous Return the name of start method used for starting processes. - If the start method has not been fixed and *allow_none* is false, - then the start method is fixed to the default and the name is - returned. If the start method has not been fixed and *allow_none* - is true then ``None`` is returned. + If the start method has not been explicitly set + (e.g., using :func:`set_start_method`) and *allow_none* is false, then the + start method is fixed to the default, and the name of the default method + is returned. If the start method has not been explicitly set and + *allow_none* is true, then ``None`` is returned, indicating that + the method has not been explicitly set. The return value can be ``'fork'``, ``'spawn'``, ``'forkserver'`` - or ``None``. See :ref:`multiprocessing-start-methods`. + or ``None``. + + Exercise caution when changing the start method using + ``multiprocessing.set_start_method`` after using + ``multiprocessing.get_start_method`` with *allow_none* set to + ``False``, as it may raise a ``RuntimeError``. + + See :ref:`multiprocessing-start-methods` for more information + on multiprocessing start methods and their implications. .. versionchanged:: 3.8