首页 > 其他 > 详细

PipelineHelper

时间:2019-11-03 10:11:39      阅读:101      评论:0      收藏:0      [点我收藏+]

PipelineHelper

文档说明

  • 用于执行流管道的辅助类
  • 用于在一个地方捕获所有关于流管道的信息(输出种类、中间操作、流标识、并行 等)

  • PipelineHelper 描述了一个流管道的初始分块,包括它的源、中间操作

  • 和可能额外附加的关于终止(或有状态)操作的信息,该操作跟进上一个由当前 PipelineHelper 描述的中间操作

  • PipelineHelper 会被传递给 evaluateParallel、evaluateSequential,与 opEvaluateParallel 等方法

  • 使其能够使用 PipelineHelper 去访问关于管道的各种信息

方法

  • wrapAndCopyInto(S sink, Spliterator<p_in> spliterator)
    • 将当前 PipelineHelper 描述的管道阶段应用到所提供的 Spliterator,并将结果发送给提供的 Sink

    • 调用 copyInto(wrapSink(Objects.requireNonNull(sink)), spliterator) 方法,并返回 sink
  • wrapSink(Sink<p_out> sink);

    • 接收一个 Sink,此 Sink 本身会接收 PipelineHelper 输出类型的元素

    • 然后使用一个接收输入类型的元素并且实现了所有 PipelineHelper 中定义的中间操作的 Sink 来对其进行包装

    • 然后将结果传递给所提供的 Sink

  • copyInto(Sink<p_in> wrappedSink, Spliterator<p_in> spliterator);

    • 将从 Spliterator 中获取到的元素推到提供的 Sink 中

    • 若流管道知道有“短路”的阶段,就会进行短路判断

    • @implSpec

    • 当前方法符合 Sink 的协议:

      • 先调用 begin 方法

      • 然后 accept 方法

      • 当所有元素推送完毕后,调用 end 方法

 

PipelineHelper

原文:https://www.cnblogs.com/flying-snake/p/11784978.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!