输出结果为1,证明本地变量在协程之间共享

代码修改如下,让coro2在coro1之后执行

import asyncio import contextvars

创建本地变量

local_var = contextvars.ContextVar("local_var")

async def coro1(): # 在协程中设置本地变量的值 local_var.set(1)

async def coro2(): # 获取本地变量的值,并在控制台输出 value = local_var.get() print(value)

创建事件循环对象

loop = asyncio.get_event_loop()

运行协程1

loop.run_until_complete(coro1())

运行协程2

loop.run_until_complete(coro2())

关闭事件循环对象

loop.close()

import asyncioimport contextvars# 创建本地变量local_var = contextvarsContextVarlocal_varasync def coro1 # 在协程中设置本地变量的值 local_varset1async def coro2 # 获取本地变量的值并在控制台输出 value = local_varget prin

原文地址: https://www.cveoy.top/t/topic/clf0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录