Golang 笔记高难度

笔记高难度


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,关闭的是接收端还是发送端?还是两

猜你喜欢

转载自blog.csdn.net/weixin_42366378/article/details/105118892