importasyncioimportcontextvars# 申明Context变量request_id=contextvars.ContextVar('Id of request')asyncdefmain():# 设置并发数max_concurrent=5semaphore=asyncio.Semaphore(max_concurrent)# 内部函数,不显式传参asyncdefget():# Get Valueprint(f'Request ID (Inner): {request_id.get()}')# 协程asyncdeflimited_task_lq(task_id:int):asyncwithsemaphore:request_id.set(task_id)awaitget()print(f'Request ID (Outer): {request_id.get()}')awaitasyncio.gather(*[limited_task_lq(task_id=i%max_concurrent)foriinrange(15)])if__name__=="__main__":asyncio.run(main())