笔记高难度
1.goroutines泄露容易发生在多个goroutine向同一个 无缓冲的channel接收数据,未被接收的goroutine因没有被接收而发生阻塞的现象?泄露的goroutine不会被垃圾回收?
答:
无缓冲的channel会在上述情况产生goroutines泄露,泄露的goroutine不会被垃圾回收。
2.goroutines泄露容易发生在多个goroutine向同一个带缓冲的channel接收数据,但是channel已满,未被接收的goroutine因没有被接收而发生阻塞的现象?泄露的goroutine不会被垃圾回收?
答:
有缓冲的channel满了会在上述情况产生goroutines泄露,泄露的goroutine不会被垃圾回收。
3.goroutines泄露容易发生在多个goroutine向同一个置nil的channel接收数据,未被接收的goroutine因没有被接收而发生阻塞的现象?泄露的goroutine不会被垃圾回收?
答:
被nil的channel不仅会产生goroutines泄露,还会导致向一个nil的channel读数据导致永久堵塞,泄露的goroutine不会被垃圾回收。
4.对一个pipeline形式的channel,关闭的是接收端还是发送端?还是两