mirror of
https://github.com/python/cpython.git
synced 2025-09-26 10:19:53 +00:00
bpo-32309: Add support for contextvars in asyncio.to_thread() (GH-20278)
Allows contextvars from the main thread to be accessed in the separate thread used in `asyncio.to_thread()`. See the [discussion](https://github.com/python/cpython/pull/20143#discussion_r427808225) in GH-20143 for context. Automerge-Triggered-By: @aeros
This commit is contained in:
parent
7efb826c3e
commit
0f56263e62
3 changed files with 25 additions and 3 deletions
|
@ -610,7 +610,9 @@ Running in Threads
|
|||
Asynchronously run function *func* in a separate thread.
|
||||
|
||||
Any \*args and \*\*kwargs supplied for this function are directly passed
|
||||
to *func*.
|
||||
to *func*. Also, the current :class:`contextvars.Context` is propogated,
|
||||
allowing context variables from the event loop thread to be accessed in the
|
||||
separate thread.
|
||||
|
||||
Return an :class:`asyncio.Future` which represents the eventual result of
|
||||
*func*.
|
||||
|
@ -657,6 +659,8 @@ Running in Threads
|
|||
that release the GIL or alternative Python implementations that don't
|
||||
have one, `asyncio.to_thread()` can also be used for CPU-bound functions.
|
||||
|
||||
.. versionadded:: 3.9
|
||||
|
||||
|
||||
Scheduling From Other Threads
|
||||
=============================
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue