diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2014-02-04 17:18:27 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2014-02-04 17:18:27 (GMT) |
commit | 5cb84ed5b19206671205b16be0f0dc2480ffed40 (patch) | |
tree | f9c73fbf789cf44446d9f2353348245f0a3ebd8e /Doc | |
parent | d8b24d756aec00d5659667096e2fd58cde9118de (diff) | |
download | cpython-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.rst | 13 |
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. |