高并发的情况下,如果处理大量请求修改同一样变量,用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不用加锁。的主要内容,如果未能解决你的问题,请参考以下文章

高并发是一种架构思维模式

如何处理高并发量的HTTP请求

高并发

JAVA中怎么处理高并发的情况

阿里一面:Spring Bean 默认是单例的,高并发情况下,如何保证并发安全?

消息中间件MQ知识概括