a ÕDOgã@s0dZddlZddlZddlmZdZdd„ZdS)z6High-level support for working with threads in asyncioéNé)Úevents)Ú to_threadcÏs>t ¡}t ¡}tj|j|g|¢Ri|¤Ž}| d|¡IdHS)a†Asynchronously run function *func* in a separate thread. Any *args and **kwargs supplied for this function are directly passed to *func*. Also, the current :class:`contextvars.Context` is propagated, allowing context variables from the main thread to be accessed in the separate thread. Return a coroutine that can be awaited to get the eventual result of *func*. N)rZget_running_loopÚ contextvarsZ copy_contextÚ functoolsÚpartialÚrunZrun_in_executor)ÚfuncÚargsÚkwargsZloopÚctxZ func_call©r ú4/opt/alt/python39/lib64/python3.9/asyncio/threads.pyr s r)Ú__doc__rrÚrÚ__all__rr r r rÚs