文章 212
评论 0
浏览 119901
golang map的并发读写导致panic

golang map的并发读写导致panic

共享变量的拷贝和append操作线程不安全,导致map被多个协程操作,引发panic。

go语言的原生map引发的一个坑

go语言的原生map引发的一个坑

go语言原生map引发的一个坑 总所周知,go语言原生的map并不是并发安全的,所以为了保证map的并发安全,最简单的方式就是给map加一个锁。 年初写项目的时候,刚接触go语言,冒冒失失的就写出了类似下面这样的代码: package problem import (     "fmt"     "sync" ) type dict struct {     m    map[int]string     lock sync.RWMutex } func NewDict() *dict {     return &dict{m: map[int]string{}} } func (d dict) Set(....

Nothing just happens, it's all part of a plan.