package main
import (
"fmt"
"math"
"sync"
)
var l sync.RWMutex
func main() {
m := make(map[int]int)
go func() {
for {
l.Lock()
for k, v := range m {
fmt.Printf("%v: %v\n", k, v)
}
l.Unlock()
}
}()
go func() {
for {
for i := 0; i < math.MaxInt64; i++ {
l.Lock()
m[i] = i
l.Unlock()
}
}
}()
select {}
}
普通的map 读写的时候如果不加lock 会导致并发问题, 因此使用时候要记得加锁
本文链接:https://iokde.com/post/go-map-read-write.html,参与评论 »
--EOF--
发表于 2023-02-23 16:06:00。
本站使用「署名 4.0 国际」创作共享协议,转载请注明作者及原网址。tools更多说明 »
提醒:本文最后更新于 467 天前,文中所描述的信息可能已发生改变,请谨慎使用。
Comments