什么关闭kotlinx.coroutines通道呢

使用channel.close()关闭kotlinx.coroutines频道的是什么,以及不手动关闭频道的负面影响是什么? 如果我不手动关闭一个频道会有一些不必要的处理? 会不会有某个地方的频道被引用,以防止它成为GCd? 还是关闭功能只是作为通知潜在用户不能再使用频道的一种方式而存在。

(从Kotlin论坛转贴的问题https://discuss.kotlinlang.org/t/closing-coroutine-channels/2549 )

通过在这个频道上发送一个特殊的“密码”来关闭一个频道。 当消费者处理有限的要素序列时,您可以关闭一个渠道,并且您必须向消费者发出信号,表明该序列已经结束。 否则,您不必关闭频道。

频道不受限于任何本地资源,不必关闭以释放其内存。 简单地删除所有的通道引用是好的。 GC会来清理它。