python-3.x - 使用 asyncio.run 时,如何将线程池执行器提交给事件循环?
问题描述
在 Python文档中,它指出:
应用程序开发人员通常应该使用高级 asyncio 函数,例如 asyncio.run(),并且应该很少需要引用循环对象或调用其方法。
还可以考虑使用 asyncio.run() 函数而不是使用较低级别的函数来手动创建和关闭事件循环。
如果我需要使用asyncio
and a ThreadPoolExecutor
,我将如何将执行程序提交给事件循环?
通常你可以这样做:
# Create a limited thread pool.
executor = concurrent.futures.ThreadPoolExecutor(
max_workers=3,
)
event_loop = asyncio.get_event_loop()
try:
event_loop.run_until_complete(
run_blocking_tasks(executor)
)
finally:
event_loop.close()
解决方案
推荐阅读
- c# - 如何以ajax类型发送模型?
- git - 下载 Android 操作系统源代码并暂停下载,导致工作目录巨大且“不存在源代码”
- node.js - 即使用户在monogdb中输入错误的拼写,我如何找到产品名称
- math - 给定一组具有 x、y 和 z 坐标的点,其边界为 0 到 1(含),确定它们是否都均匀分布(或接近)
- pandas - Pandas read_sql postgres 查询的挑战性语法
- sql - 创建在更新表后自动更新单独的“审计表”的触发器
- graphics - 非抗锯齿线和锯齿线的最佳算法是什么
- qt - QTableWidget 设置标题标签
- angular - 通过 Laravel 服务器服务时延迟加载模块的 ChunkLoadError
- jquery - 如果我选择是或否,如何清除复选框和警报?