环境:OSX10.8,Go1.0.2我创建了一个缓冲区大小为2的channel,然后如果我将channel写入3次,它会抛出错误:throw:allgoroutinesareasleep-deadlock!当然是对的。但是如果我在goroutine中写channel四次或更多次,它工作正常,为什么?channel的容量是2,为什么goroutines忽略它或者忘记容量设置?我注释了读取channel代码,所以没有人会读取channel并节省容量。我还使用time.Sleep来等待所有goroutines完成他们的工作。请查看以下代码:包主//import"fmt"funcmain(){