()
| 15 | var sm = sync.Map{} |
| 16 | |
| 17 | func main() { |
| 18 | wg := sync.WaitGroup{} |
| 19 | // 对sm执行20个并发的读写操作 |
| 20 | for i := 0; i < 20; i++ { |
| 21 | wg.Add(1) |
| 22 | go func(i int) { |
| 23 | key := strconv.Itoa(i) |
| 24 | sm.Store(key, i) // 存储key-value |
| 25 | value, _ := sm.Load(key) // 根据key取值 |
| 26 | fmt.Printf("k:=%v,v:=%v\n", key, value) |
| 27 | wg.Done() |
| 28 | }(i) |
| 29 | } |
| 30 | wg.Wait() |
| 31 | } |