This question already has answers here:
Thread Safety in Python's dictionary
(3个答案)
5年前关闭。
在多线程环境中,应在修改变量的值之前使用locking以避免并发写入。
所有类型的变量都适用吗?我专门考虑了
(3个答案)
5年前关闭。
在多线程环境中,应在修改变量的值之前使用locking以避免并发写入。
所有类型的变量都适用吗?我专门考虑了
dict
键的值由不同线程更新的情况(可能同时,每个线程的键值不同)。 最佳答案
在您的情况下,您只是在更改与键关联的值,这是对字典的一项操作。 dict
结构本身是线程安全的,请参见此处:Thread Safety in Python's dictionary,所以应该没问题。
如果要在存储在字典中的对象内部进行更改,则可能是安全的,但可能并非如此。如果一个特定的对象一次只被一个线程更改,那是安全的,但是如果出于某种原因,多个线程同时开始访问一个对象,那是不安全的。
关于python - 同时更新变量总是不安全的吗? [复制],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34089949/
10-12 22:00