### 如题,白白浪费我几天时间,偶发的并发bug不少,看我上篇文章就出现了各种bug,就不说了,现在来说个一定会出现的bug,
### 下面的代码在1.14.1版本是会报错的,结果不为1,但是我卸载后重新安装1.13.9之后就可以正常执行了!当然也可能是我的电脑原因,求大伙验证!
```
package main
import (
"fmt"
"sync"
)
var wg sync.WaitGroup
func main() {
var m sync.Map
for i := 0; i < 65536; i++ {
m.Store(1, 1)
}
wg.Add(2)
go Add(m)
go sub(m)
wg.Wait()
fmt.Println(m.Load(1))
}
func Add(m sync.Map) {
for i := 0; i < 10000; i++ {
value, _ := m.Load(1)
v := value.(int)
v += 1
m.Store(1, v)
}
wg.Done()
}
func sub(m sync.Map) {
for i := 0; i < 10000; i++ {
value, _ := m.Load(1)
v := value.(int)
v -= 1
m.Store(1, v)
}
wg.Done()
}
```
### 不出意外的话,上面的额结果不会绝对是1 !!!大伙可以试试!我就不去PR了!
### 似乎1.13.9也会出现,可能真是我的电脑环境问题了!
有疑问加站长微信联系(非本文作者))