go routine同时操作同一个结构体会有问题吗?

gojuukaze · · 1851 次点击
stayfoo
stay hungry stay foolish
加锁的话可以使用互斥锁、读写锁,配合waitGroup,或者条件变量; 不加锁就是通过 chan , 当一个 goroutine 中操作完毕,发出信号,第二个再处理;
#6
更多评论
这个是全局变量,整个包内共享,多个goroutine同时操作不是线程安全的,有这种情况建议加锁
#1
一般map和slice才会有问题, map会直接崩,slice虽然不会崩,但是数据可能会丢失
#2