diff options
Diffstat (limited to 'Doc')
-rw-r--r-- | Doc/library/asyncio-dev.rst | 5 | ||||
-rw-r--r-- | Doc/library/asyncio-subprocess.rst | 19 |
2 files changed, 24 insertions, 0 deletions
diff --git a/Doc/library/asyncio-dev.rst b/Doc/library/asyncio-dev.rst index 63af06a..7083e60 100644 --- a/Doc/library/asyncio-dev.rst +++ b/Doc/library/asyncio-dev.rst @@ -74,6 +74,11 @@ the event loop. The :ref:`Synchronization primitives <asyncio-sync>` section describes ways to synchronize tasks. + The :ref:`Subprocess and threads <asyncio-subprocess-threads>` section lists + asyncio limitations to run subprocesses from different threads. + + + .. _asyncio-handle-blocking: diff --git a/Doc/library/asyncio-subprocess.rst b/Doc/library/asyncio-subprocess.rst index 1cbfcf2..570107e 100644 --- a/Doc/library/asyncio-subprocess.rst +++ b/Doc/library/asyncio-subprocess.rst @@ -297,6 +297,25 @@ Process ``N`` (Unix only). +.. _asyncio-subprocess-threads: + +Subprocess and threads +====================== + +asyncio supports running subprocesses from different threads, but there +are limits: + +* An event loop must run in the main thread +* The child watcher must be instantiated in the main thread, before executing + subprocesses from other threads. Call the :func:`get_child_watcher` + function in the main thread to instantiate the child watcher. + +.. seealso:: + + The :ref:`Concurrency and multithreading in asyncio + <asyncio-multithreading>` section. + + Subprocess examples =================== |