类 RingBufferEvent

java.lang.Object
cn.wjybxx.concurrent.RingBufferEvent
所有已实现的接口:
IAgentEvent

public final class RingBufferEvent extends Object implements IAgentEvent
被缓存的事件对象 1.用于Disruptor或类似的系统,当我们缓存对象时,更适合将字段展开以提高内存利用率 2.这只是个简单的数据传输对象,getter/setter什么的不必要 3.实现Runnable以支持直接提交到Executor 4.支持EventLoopAgent的都将支持该事件。

PS:如果要支持判断是否是批量处理的最后一个事件,可以在这里添加字段。

作者:
wjybxx date 2023/4/10
  • 字段详细资料

    • obj0

      public Object obj0
    • options

      public int options
    • intVal1

      public int intVal1
    • intVal2

      public int intVal2
    • longVal1

      public long longVal1
    • longVal2

      public long longVal2
    • obj1

      public Object obj1
    • obj2

      public Object obj2
  • 构造器详细资料

    • RingBufferEvent

      public RingBufferEvent()
  • 方法详细资料

    • copy

      public RingBufferEvent copy()
    • copyFrom

      public void copyFrom(RingBufferEvent src)
    • clean

      public void clean()
      从接口复制的说明: IAgentEvent
      清理事件的引用数据 -- 避免内存泄漏 ps:事件循环每处理完事件就会调用该方法以避免内存泄漏
      指定者:
      clean 在接口中 IAgentEvent
    • cleanAll

      public void cleanAll()
      从接口复制的说明: IAgentEvent
      清理事件的所有数据 -- 基础值也重置
      指定者:
      cleanAll 在接口中 IAgentEvent
    • getType

      public int getType()
      从接口复制的说明: IAgentEvent
      获取事件的类型
      指定者:
      getType 在接口中 IAgentEvent
    • setType

      public void setType(int type)
      从接口复制的说明: IAgentEvent
      设置事件的类型
      指定者:
      setType 在接口中 IAgentEvent
    • getOptions

      public int getOptions()
      从接口复制的说明: IAgentEvent
      事件或任务的调度选项
      指定者:
      getOptions 在接口中 IAgentEvent
    • setOptions

      public void setOptions(int options)
      从接口复制的说明: IAgentEvent
      将options存储在Event上。 1.以支持自定义事件中的调度选项 -- 冗余存储,解除耦合。 2.可避免对Runnable的封装。
      指定者:
      setOptions 在接口中 IAgentEvent
    • getObj0

      public Object getObj0()
      从接口复制的说明: IAgentEvent
      获取事件的第一个参数
      指定者:
      getObj0 在接口中 IAgentEvent
    • setObj0

      public void setObj0(Object obj0)
      从接口复制的说明: IAgentEvent
      设置事件的第一个参数
      指定者:
      setObj0 在接口中 IAgentEvent
    • toString

      public String toString()
      覆盖:
      toString 在类中 Object