Go map使用读写锁

读写锁处理线程竞争
注意:循环切片数据时,注意遍历后的`v`地址是相同的(在for代码块中,for生命周期内,创建的变量v生命周期内地址不变)
package main

import (
"sync"
"app01/controller"
"app01/service"
)

var (
rwlock sync.RWMutex
)

func updateProductInfo(ProductInfo) {
var tmp map[int]*service.SecProductInfo = make(map[int]*service.SecProductInfo, 1024)

for _, v range ProductInfo {
pro := &v // 重新赋值,否则引用地址相同
tmp[v.Pid] = pro
}

// 数据重新写入map
rwlock.Lock()
service.SecProductInfoM

Go map使用读写锁最先出现在Python成神之路

版权声明:
作者:倾城
链接:https://www.techfm.club/p/9428.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>