高并发的情况下,如果处理大量请求修改同一样变量,用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,每一份进来的请求数据都会生成一个独立的内存地址,这样的话,每一个并发的请求都在自己独立的地址上面对数据进行操作,

避免了如果是同一块内存地址进行操作时,产生数据的偏差。

 

posted @ 2019-09-19 22:39  就是想学习  阅读(770)  评论(0编辑  收藏  举报