知识铺: 致力于打造轻知识点,持续更新每次的知识点较少,阅读不累。不占太多时间,不停的来唤醒你记忆深处的知识点。
一、Scatter
分散: 从一个channel分发到多个buffer中。
使用场景:buffer分为头部和主体在一起情况,在用channel读取到buffer的时候,可以先把头部部分从channel写入到头部buffer中。 头部buffer写满,接着写主体buffer。
例子:
操作: 先写入到 header缓冲区中,写满继续写入到body缓冲区中。
二、Gather
聚合:从多个buffer中读数据,写入到一个channel通道。
使用场景:多个buffer写入到一个channel中,比如:协议头部buffer ,和主体buffer 持续写入到一个channel中。
例子:
操作: 把协议的头部buffer先写入到channel中,主体buffer依次写入到channel中。
这两种操作: 前提 消息头必须固定大小,同时在消息头中有主体缓冲区大小。
领取专属 10元无门槛券
私享最新 技术干货