summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2014-02-04 17:18:27 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2014-02-04 17:18:27 (GMT)
commit5cb84ed5b19206671205b16be0f0dc2480ffed40 (patch)
treef9c73fbf789cf44446d9f2353348245f0a3ebd8e /Doc
parentd8b24d756aec00d5659667096e2fd58cde9118de (diff)
downloadcpython-5cb84ed5b19206671205b16be0f0dc2480ffed40.zip
cpython-5cb84ed5b19206671205b16be0f0dc2480ffed40.tar.gz
cpython-5cb84ed5b19206671205b16be0f0dc2480ffed40.tar.bz2
asyncio doc: add an example to schedule a coroutine from a different thread
Diffstat (limited to 'Doc')
-rw-r--r--Doc/library/asyncio-dev.rst13
1 files changed, 8 insertions, 5 deletions
diff --git a/Doc/library/asyncio-dev.rst b/Doc/library/asyncio-dev.rst
index 4819108..1e82474 100644
--- a/Doc/library/asyncio-dev.rst
+++ b/Doc/library/asyncio-dev.rst
@@ -13,12 +13,15 @@ Concurrency and multithreading
------------------------------
An event loop runs in a thread and executes all callbacks and tasks in the same
-thread. If a callback should be scheduled from a different thread, the
-:meth:`BaseEventLoop.call_soon_threadsafe` method should be used.
+thread. While a task in running in the event loop, no other task is running in
+the same thread. But when the task uses ``yield from``, the task is suspended
+and the event loop executes the next task.
-While a task in running in the event loop, no other task is running in the same
-thread. But when the task uses ``yield from``, the task is suspended and the
-event loop executes the next task.
+To schedule a callback from a different thread, the
+:meth:`BaseEventLoop.call_soon_threadsafe` method should be used. Example to
+schedule a coroutine from a different::
+
+ loop.call_soon_threadsafe(asyncio.async, coro_func())
To handle signals and to execute subprocesses, the event loop must be run in
the main thread.