"""High-level support for working with threads in asyncio""" import functools import contextvars from . import events __all__ = "to_thread", async def to_thread(func, /, *args, **kwargs): """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*. """ loop = events.get_running_loop() ctx = contextvars.copy_context() func_call = functools.partial(ctx.run, func, *args, **kwargs) return await loop.run_in_executor(None, func_call)
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
__init__.py | File | 1.25 KB | 0644 |
|
__main__.py | File | 3.3 KB | 0644 |
|
base_events.py | File | 72.45 KB | 0644 |
|
base_futures.py | File | 2.51 KB | 0644 |
|
base_subprocess.py | File | 8.64 KB | 0644 |
|
base_tasks.py | File | 2.41 KB | 0644 |
|
constants.py | File | 888 B | 0644 |
|
coroutines.py | File | 8.59 KB | 0644 |
|
events.py | File | 25.83 KB | 0644 |
|
exceptions.py | File | 1.59 KB | 0644 |
|
format_helpers.py | File | 2.35 KB | 0644 |
|
futures.py | File | 13.71 KB | 0644 |
|
locks.py | File | 14.83 KB | 0644 |
|
log.py | File | 124 B | 0644 |
|
proactor_events.py | File | 31.39 KB | 0644 |
|
protocols.py | File | 6.79 KB | 0644 |
|
queues.py | File | 8.11 KB | 0644 |
|
runners.py | File | 2.08 KB | 0644 |
|
selector_events.py | File | 38.57 KB | 0644 |
|
sslproto.py | File | 26.82 KB | 0644 |
|
staggered.py | File | 5.85 KB | 0644 |
|
streams.py | File | 26.03 KB | 0644 |
|
subprocess.py | File | 7.88 KB | 0644 |
|
tasks.py | File | 33.61 KB | 0644 |
|
threads.py | File | 790 B | 0644 |
|
transports.py | File | 10.47 KB | 0644 |
|
trsock.py | File | 5.74 KB | 0644 |
|
unix_events.py | File | 50.54 KB | 0644 |
|
windows_events.py | File | 32.28 KB | 0644 |
|
windows_utils.py | File | 4.94 KB | 0644 |
|