请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

控制权问题确实没法重现,windows10,go版本 1.13.7

测试代码如下:

func main(){
	var a [10]int
	for i:=0;i<10;i++{
		go func(i int) {
			for{
				a[i]++
			}
		}(i)
	}
	time.Sleep(time.Millisecond)
	fmt.Print(a)
}

代码对比来看时一样的

正在回答 回答被采纳积分+3

1回答

ccmouse 2020-02-09 21:46:14

的确有观察到各种现象。这段代码本身结果就是不确定的。

不过传递的知识点是我们在goroutine里面需要主动让出控制权,像这里for里不交出控制权是不对的。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信