各种python代码片段
支持上下文变量传递的线程池执行器,基于 ThreadPoolExecutor 扩展,可以将主线程的 contextvars 自动传递到工作线程中。适用于需要在多线程环境中保持上下文状态的场景。
contextvar_example.py - 完整的 ContextVar 使用示例
展示了如何使用 Python 的 contextvars 模块来管理上下文相关的数据:
- 创建上下文变量:使用
ContextVar()创建变量,支持设置默认值 - 存入变量:使用
.set(value)方法存储值 - 获取变量:使用
.get()或.get(default)方法获取值 - Token 机制:使用 token 保存和恢复变量的旧值
- 异步并发:演示在多个并发任务中如何维护独立的上下文
- 跨函数传递:展示上下文如何自动在函数调用链中传递
适用于需要在异步代码、多线程或复杂调用链中传递请求级别数据的场景,如用户 ID、请求 ID、日志上下文等。