数据共享需要contextvar吗?

时间:2020-05-14 20:48:14

标签: python-asyncio python-multithreading python-contextvars

我无法理解contextvars在线程和异步循环中共享值的用处。

它们就像字典一样。

在线程中,由于GIL,我认为字典非常安全(请参见Using a global dictionary with threads in Python)。

在asyncio中,我认为只有一部分代码同时执行,因此不应有任何并发​​访问(我可能是错的)。

我读了PEP的contextvars,但是与同步无关。看起来目标是跨线程具有不同版本的上下文(例如,十进制)。

可以简单地用全局全局变量安全地替换contextvars,以在线程和异步函数中共享值吗?

0 个答案:

没有答案
相关问题