Buckets:
MisterAI/LocalAI_Demo_backends / cpu-diffusers.upgrade-tmp /python /lib /python3.10 /asyncio /threads.py
| """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) | |
Xet Storage Details
- Size:
- 790 Bytes
- Xet hash:
- fb9596a298a9256d9f6e982e0531e19d9abcb2cdad18810e0b2847969063ae39
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.