程序包 cn.wjybxx.btree

批注接口 TaskInlinable


@Target(TYPE) @Retention(RUNTIME) public @interface TaskInlinable
该注解用于表示一个task是可以被内联的, 1.适用于SingleRunningChildBranchDecorator 2.该注解不继承,必须在类上显式定义才可以生效。

内联条件

一个控制是否可被内联,需要满足以下条件: 1.最多只能有一个运行中的子节点,且不可以有运行中的钩子节点。 2.心跳逻辑中不会主动取消子节点执行 -- 即心跳逻辑只是简单驱动子节点运行。 3.不能有特殊的事件处理逻辑,一定是直接派发给子节点。

Q:为什么使用注解,而不是虚方法? A:强调是否可内联是类型的信息,与实例状态无关。

作者:
wjybxx date - 2024/7/24