谁能帮忙解释一段并发代码的诡异结果

star24 · 2014-12-10 08:52:06 · 3732 次点击

问题应该是你的死循环问题上面.运行死循环占用大量cpu资源,这时候其他任务就不能正常执行,因此会出现程序"死亡"状态.该程序删掉j的死循环便可正常执行.

#1
更多评论

有结果输出也是有可能的,ch <- subSum 是在死循环前,主goroutine是可以到,幸运的话还是输出结果的;要是有一个或者多个gorountine跑到了死循环, 这种空转cpu肯定回100%,还会导致其他goroutine没法执行

#2
qkb_75_go
琴为心声

我可以解释

#3