高并发的情况下,如果处理大量请求修改同一样变量,用copy不用加锁。
Posted sidianok
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了高并发的情况下,如果处理大量请求修改同一样变量,用copy不用加锁。相关的知识,希望对你有一定的参考价值。
modif_dict = ‘name‘: None, ‘age‘:None
假如上面的数据是一个大量并发读取并修改的数据
modif_dicf[‘name‘] = ‘xiaom‘
modif_dict[‘age‘] = 18
像上面这样的数据有大量的请求写入,为了防止高并发时数据重复写入,数据出现问题。
可以在前面添加
param = modif_dicy.copy()
param[‘name‘] = ‘xiaobai‘
param[‘age‘] = 20
如果从我的角度理解,因为使用了copy,每一份进来的请求数据都会生成一个独立的内存地址,这样的话,每一个并发的请求都在自己独立的地址上面对数据进行操作,
避免了如果是同一块内存地址进行操作时,产生数据的偏差。
以上是关于高并发的情况下,如果处理大量请求修改同一样变量,用copy不用加锁。的主要内容,如果未能解决你的问题,请参考以下文章