类 SimpleParallel<E>


public class SimpleParallel<E> extends Parallel<E>
简单并发节点。 其中第一个任务为主要任务,其余任务为次要任务。 一旦主要任务完成,则节点进入完成状态。
作者:
wjybxx date - 2023/11/26
  • 构造器详细资料

    • SimpleParallel

      public SimpleParallel()
  • 方法详细资料

    • execute

      protected void execute()
      从类复制的说明: Task
      Task的心跳方法,在Task进入完成状态之前会反复执行。 1.可以根据Task.isExecuteTriggeredByEnter()判断是否是与Task.enter(int)连续执行的。 2.运行中可通过Task.setSuccess()Task.setFailed(int) ()}、Task.setCancelled()将自己更新为完成状态。 3.不建议直接调用该方法,而是通过模板方法运行。
      指定者:
      execute 在类中 Task<E>
    • onChildCompleted

      protected void onChildCompleted(Task<E> child)
      从类复制的说明: Task
      子节点进入完成状态 1.避免方法数太多,实现类测试task的status即可 2.Task.getNormalizedStatus()有助于switch测试 3.task可能是取消状态,甚至可能没运行过直接失败(前置条件失败) 4.钩子任务和guard不会调用该方法 5.Task.isExecuting()有助于检测冲突,减少调用栈深度 6.同一子节点连续通知的情况下,completed的逻辑应当覆盖Task.onChildRunning(Task)的影响。 7.任何的回调和事件方法中都由用户自身检测取消信号
      指定者:
      onChildCompleted 在类中 Task<E>
    • onEventImpl

      protected void onEventImpl(@Nonnull Object event)
      从类复制的说明: Task
      对于控制节点,通常将事件派发给约定的子节点或钩子节点。 对于叶子节点,通常自身处理事件。 注意: 1.转发事件时应该调用子节点的Task.onEvent(Object)方法 2.在AI这样的领域中,建议将事件转化为信息存储在Task或黑板中,而不是尝试立即做出反应。 3.Task.isExecuting()方法很重要
      指定者:
      onEventImpl 在类中 Task<E>