登录
首页 >  Golang >  Go问答

使用指针在通道上传递是否不安全?如果是,原因是什么?

来源:stackoverflow

时间:2024-02-25 12:54:17 286浏览 收藏

IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天golang学习网给大家整理了《使用指针在通道上传递是否不安全?如果是,原因是什么?》,聊聊,我们一起来看看吧!

问题内容

我看到这个 reddit 评论说不应将指针传递给通道或具有指针字段的结构,但它没有给出足够的解释


解决方案


如果您小心谨慎并了解另一端输出的仍然是指向相同数据的指针而不是副本,那么在通道上发送指针是完全可以的。

也就是说,如果您使用通道在两个 goroutine 之间进行通信,那么您应该小心同时从两个不同的 goroutine 访问指针 - 因为这可能会导致数据竞争(如果其中一个 goroutine正在修改底层数据)。但是,如果考虑到这一点,就不存在安全问题。

终于介绍完啦!小伙伴们,这篇关于《使用指针在通道上传递是否不安全?如果是,原因是什么?》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>