go线程安全问题

Big_kevin · · 3081 次点击
goroutine 并不是挨个执行完的,之间会有调度,可能会在执行期间被打断,就可能造成多个goroutine访问 map这个共享变量,所以会造成并发写的panic吧。
#3
更多评论
会有问题的,map 的读写过程不是原子性的。单核并不能保证。
#1
![image.png](https://static.studygolang.com/190524/48b40b06eba738aad1ca0879049d76e7.png) 这是go语言实战里的图,G*代表协程,我在想,如果就一个线程的话,G*之间永远不会同一时间被调度,那还用锁干什么?
#2