1.Channel满了,就阻塞写; Channel空了,就阻塞读
2.阻塞之后会交出cpu,去执行其他协程,希望其他协程能帮自己解除阻塞
3.如果阻塞发生在main协程里,并且没有其他子协程可以执行,那就可以确定“希望永远等不来”,自己把自己杀掉,报一个fatal error:deadlock出来
4.如果阻塞发生在子协程里,就不会发生死锁,因为至少main协程是一个值得等待的"希望",会一直等(阻塞)下去。
管道案例
sub routine 1 over 会被打印
sub routine 2 over 不会打印