stream和channel的应用

stream和channel的应用

前言

最近遇到stream,channel越来越多了,只是知道了表面的意思,但是深层的东西还是很懵懂。

通道

通道可以被监听,如通信通道被窃听,比如旁路监听。

旁路监听
通道可以接受信息,我们称为接收通道。
通道可以发送信息,我们称为发送通道。
对于接收通道来说,信息来自于来源通道(即发送通道)
通道可以被阻塞,阻塞不一定是坏的,阻塞可以是公交车等待乘客上车,是为了更高的上座率,在总体上达到更高的效率。

阻塞
通道阻塞又和多路径,并发有关。

通道可以被劫持,一般来说通道是从A到B,一旦C在通道某个点控制了通道的流量,强行使通道流量转变方向或者对流量的内容进行了操作,这就是在通道中进行流量劫持。也可以称为通道劫持,流量劫持。

通道可以分为文件通道,socket通道
socket通道又和服务器响应模型有关

消息通过通道传递
动态的消息构成了流

编程语言

Golang

stream在编程语言中,比如go语言中有通道,流应该是流过通道的。go语言中专门有channel这个概念。在golang中似乎channel是用来并发的。

通道GO

C++

C++中,有>><<这种符号。里面还有文件流的概念。

区块链

联盟链

超级账本Fabric最先在联盟链中引入了通道这个概念,Fabric定义了链、Peer、通道、共识服务的概念。链代表了账本和对应的共识服务。一个Peer可以拥有多个逻辑账本,并且可以参与多条链。通道是将Peer连接共识服务的虚拟通信方式。共识服务既是可信的与链无关的公共服务。
通道与权限控制相关。类似于小密圈,每个通道像一个专属VIP通道,不同的通道有不同的权限。联盟链相比于公链一个比较大的差别就是引入了权限控制。

通道在联盟链中用于数据隔离。

联盟链通道

智能合约地址流

在以太坊,比特币种,转账也可以构成一股首尾相接的流。

猜你喜欢

转载自blog.csdn.net/shenpanzhimao/article/details/84961569