Golang的goroutine是非抢占式的, 令人相当蛋疼! 有痛不能呻吟...只能配合channel在各goroutine之间传递信号来实现抢占式, 而这形成了golang最灵活与最具性能的核心. 相信, 彩虹总在风雨后...

学会process, thread, routine之间的配合与取舍.

关于channel的猜测:

Golang中Channel的阻塞规则, 注意顺序:

Write端依赖于Read端, 对于无缓冲Channel, 如果没有goroutine去消费Channel, 则write操作一直阻塞, 直到panic:

fatal error: all goroutines are asleep - deadlock!

05-06 21:09