程序包 cn.wjybxx.btree

接口 ICancelToken

所有超级接口:
ICancelTokenListener
所有已知实现类:
CancelToken

public interface ICancelToken extends ICancelTokenListener
作者:
wjybxx date - 2024/7/14
  • 方法详细资料

    • reset

      void reset()
    • cancelCode

      int cancelCode()
      取消码 1. 按bit位存储信息,包括是否请求中断,是否超时,紧急程度等 2. 低20位为取消原因;高12位为特殊信息 CancelCodes.MASK_REASON 3. 不为0表示已发起取消请求 4. 取消时至少赋值一个信息,reason通常应该赋值
    • isCancelling

      default boolean isCancelling()
      是否已收到取消信号 任务的执行者将持有该令牌,在调度任务前会检测取消信号;如果任务已经开始,则由用户的任务自身检测取消和中断信号。
    • reason

      default int reason()
      取消的原因 (1~10为底层使用,10以上为用户自定义)T
    • degree

      default int degree()
      取消的紧急程度
    • cancel

      int cancel()
      使用默认取消码 CancelCodes.REASON_DEFAULT
    • cancel

      int cancel(int cancelCode)
      发送取消信号
      参数:
      cancelCode - 取消码;reason部分需大于0
      返回:
      Token的当前值;如果Token已被取消,则非0;如果Token尚未被取消,则返回0。
      抛出:
      IllegalArgumentException - 如果code小于等于0;或reason部分为0
    • addListener

      void addListener(ICancelTokenListener listener)
      添加监听器
    • remListener

      boolean remListener(ICancelTokenListener listener)
      删除指定监听器
    • remListener

      boolean remListener(ICancelTokenListener listener, boolean firstOccurrence)
      删除监听器
      参数:
      listener - 要删除的监听器
      firstOccurrence - 是否强制正向查找删除
      返回:
      存在匹配的监听器则返回true
    • hasListener

      boolean hasListener(ICancelTokenListener listener)
      查询是否存在给定的监听器
    • newInstance

      default ICancelToken newInstance()
      创建一个同类型实例(默认只拷贝环境数据)
    • newInstance

      ICancelToken newInstance(boolean copyCode)
      创建一个同类型实例(默认只拷贝环境数据)
      参数:
      copyCode - 是否拷贝当前取消码
      返回:
      新实例