Python 的线程本地数据和ContextVar
s 似乎实现了相同的事情(虽然 API 略有不同),唯一面向用户的区别是ContextVar
s 可以使用异步代码(协程和异步),而线程本地数据则不能。
这真的是唯一实际的区别吗?
这是否意味着任何针对运行时> = 3.7(何时ContextVar
引入)的代码最好使用ContextVar
过去可能使用过的线程本地数据?还是有理由更喜欢线程本地数据?(除了您特别希望将状态与线程而不是上下文相关联的情况。)
Python 的线程本地数据和ContextVar
s 似乎实现了相同的事情(虽然 API 略有不同),唯一面向用户的区别是ContextVar
s 可以使用异步代码(协程和异步),而线程本地数据则不能。
这真的是唯一实际的区别吗?
这是否意味着任何针对运行时> = 3.7(何时ContextVar
引入)的代码最好使用ContextVar
过去可能使用过的线程本地数据?还是有理由更喜欢线程本地数据?(除了您特别希望将状态与线程而不是上下文相关联的情况。)