导火索
这周五同事遇到一个问题让我来看看,大概逻辑如下(源码就不贴了):
var l sync.Mutex
var m = make(map[string]interface{
})
func get(k string) interface{
} {
l.Lock()
v,ok := m[k]
l.Unlock()
if !ok {
return nil
}
return v
}
func set(k string, v interface{
}){
l.Lock()
defer l.Unlock()
m[k] = v
}
func main(){
ch := make(chan struct{
})
go func(i int64){
set(string(i),"hello")
ch <- struct{
}{
}
}(22307646)
<-ch
go func(i int64){
set(string(i