150.1 go语言开发实战慕课版

12.41channel的概述channel即Go的通道,是协程之间的通信机制。一个channel是一条通信管道,它可以让一个协程通过它给另一个协程发送数据。每个channel都需要指定数据类型,即channel可发送数据的类型。如果使用channel发送int类型数据,可以写成chanint。数据发送的方式如同水在管道中的流动。传统的线程之间可以通过共享内存进行数据交互,不同的线程共享内存的同步问题需要使用锁来解决,这样会导致性能低下。Go语言中提倡使用channel的方式代替共享内存。换言之,

12.41 channel 的概述
channel即Go的通道,是协程之间的通信机制。一个channel是一条通信管道,它可以让一个协程通过它给另一个协程发送数据。每个channel都需要指定数据类型,即channel可发送数据的类型。如果使用channel发送int类型数据,可以写成chan int。数据发送的方式如同水在管道中的流动。

传统的线程之间可以通过共享内存进行数据交互,不同的线程共享内存的同步问题需要使用锁来解决,这样会导致性能低下。Go语言中提倡使用channel的方式代替共享内存。换言之,Go语言主张通过数据传递来实现共享内存,而不是通过共享内存来实现数据传递。

12.4.2 创建channel类型
声明channel类型的语法如下:
var channel 变量 chan channel 类型

chan类型的空值是nil ,声明后需要配合 make 才能使用。channel是引用类型 需要使用make 进行创建。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/4634.html

(0)
上一篇 2022-12-08 13:13
下一篇 2022-12-08 13:13

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信