码迷,mamicode.com
首页 > 其他好文 > 详细

高并发的情况下,如果处理大量请求修改同一样变量,用copy不用加锁。

时间:2019-09-20 00:40:48      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:理解   bsp   变量   并发   防止   name   mod   偏差   nbsp   

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不用加锁。

标签:理解   bsp   变量   并发   防止   name   mod   偏差   nbsp   

原文地址:https://www.cnblogs.com/sidianok/p/11553082.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!