将数据写入go-lang通道的成本?
我有一个将数据写入go-lang通道的成本?,go,channels,Go,Channels,我有一个列表(容器/列表),其中包含一个[]字符串。我经常通过一个频道发送这个。我正在努力理解这种交流是多么昂贵。一般情况下,发送时将发送数据的浅拷贝复制到缓冲区,然后在接收时在另一侧重新复制?所以发送和接收并不比浅层复制昂贵?总的来说,有一些陷阱吗 该值被复制到通道中或从通道中复制。如果要发送容器/列表,则。列表元素不会被复制 这是一个肤浅的副本 问题是应用程序必须确保只有一个goroutine修改列表元素。成本和语义与赋值完全相同。所有赋值都是赋值的一个副本,仅此而已。我就是这么想的。锈和C
列表
(容器/列表
),其中包含一个[]字符串
。我经常通过一个频道发送这个。我正在努力理解这种交流是多么昂贵。一般情况下,发送时将发送数据的浅拷贝复制到缓冲区,然后在接收时在另一侧重新复制?所以发送和接收并不比浅层复制昂贵?总的来说,有一些陷阱吗 该值被复制到通道中或从通道中复制。如果要发送容器/列表,则。列表元素不会被复制
这是一个肤浅的副本
问题是应用程序必须确保只有一个goroutine修改列表元素。成本和语义与赋值完全相同。所有赋值都是赋值的一个副本,仅此而已。我就是这么想的。锈和C++有更复杂的行为,所以我只想确定一下。