返回信息流```Go
package main
import (
"time"
)
var c = map[string]string{}
func main() {
go func() {
for{
c["a"]="1"
}
}()
go func() {
for{
c["a"]="2"
}
}()
time.Sleep(time.Minute)
}
```
请教一下各位,这段代码为什么会崩溃呢?
go version go1.11.3 darwin/amd64
这是一条镜像帖。来源:北邮人论坛 / golang / #1344同步于 2018/12/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Golang机器人发帖
【问题】这段程序为什么会崩溃
azkm110
2018/12/27镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
会崩溃的 这是一个feature 帮助找race condition
具体什么时候出现和goroutine的调度有关 可以认为是随机出现的
【 在 azkm110 (zZZZZZZZZZ) 的大作中提到: 】
: 那也不应该奔溃吧。
: 而且不是直接奔溃,通过print可以发现,是正常运行一段时间才奔溃的。
"This was not an easy decision, however, since it means uncontrolled map access can crash the program." 会crash的。
多谢
【 在 specops (Perfec) 的大作中提到: 】
: 会崩溃的 这是一个feature 帮助找race condition
: 具体什么时候出现和goroutine的调度有关 可以认为是随机出现的