202601311428 Async 的 syncify 在哪个事件循环中执行的 async 代码?
202601311428 Async 的 syncify 在哪个事件循环中执行的 async 代码?
之前看过 Asyncer 的代码,有这么一句话
现在验证一下
import asyncio
import anyio
from anyio import to_thread
from asyncer import syncify
async def do_async_work(name: str):
await anyio.sleep(1)
print(f"Hello, {name}")
return f"Hello, {name}"
@syncify
async def sync_work(name: str):
res = await do_async_work(name)
return res
async def main():
async_io_event_loop = asyncio.get_event_loop()
print(f"async_io_event_loop: {async_io_event_loop}, id: {id(async_io_event_loop)}")
await to_thread.run_sync(thread_main)
def thread_main():
res = sync_work("Johh")
print(f"res: {res}")
if __name__ == "__main__":
anyio.run(main)