首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关闭kotlinx.coroutines通道有什么作用

关闭kotlinx.coroutines通道有什么作用
EN

Stack Overflow用户
提问于 2017-05-10 17:54:27
回答 1查看 4.1K关注 0票数 31

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

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

EN

回答 1

Stack Overflow用户

发布于 2017-05-10 17:56:09

从概念上讲,关闭通道是通过在此通道上发送一个特殊的“关闭令牌”来实现的。当您有一个有限的元素序列要由使用者处理时,您关闭了一个通道,并且您必须向使用者发出此序列已结束的信号。否则,您不必关闭通道。

通道不会绑定到任何本机资源,也不需要关闭它们来释放内存。只需删除对通道的所有引用即可。GC会来清理的。

票数 37
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43889066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档