java.lang.Object
cn.wjybxx.concurrent.RingBufferEvent
- 所有已实现的接口:
IAgentEvent
被缓存的事件对象
1.用于Disruptor或类似的系统,当我们缓存对象时,更适合将字段展开以提高内存利用率
2.这只是个简单的数据传输对象,getter/setter什么的不必要
3.实现
Runnable以支持直接提交到Executor
4.支持EventLoopAgent的都将支持该事件。
PS:如果要支持判断是否是批量处理的最后一个事件,可以在这里添加字段。
- 作者:
- wjybxx date 2023/4/10
-
字段概要
字段修饰符和类型字段说明intintlonglongint从接口继承的字段 cn.wjybxx.concurrent.IAgentEvent
TYPE_INVALID, TYPE_RUNNABLE -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明voidclean()清理事件的引用数据 -- 避免内存泄漏 ps:事件循环每处理完事件就会调用该方法以避免内存泄漏voidcleanAll()清理事件的所有数据 -- 基础值也重置copy()voidcopyFrom(RingBufferEvent src) getObj0()获取事件的第一个参数int事件或任务的调度选项intgetType()获取事件的类型void设置事件的第一个参数voidsetOptions(int options) 将options存储在Event上。voidsetType(int type) 设置事件的类型toString()
-
字段详细资料
-
obj0
-
options
public int options -
intVal1
public int intVal1 -
intVal2
public int intVal2 -
longVal1
public long longVal1 -
longVal2
public long longVal2 -
obj1
-
obj2
-
-
构造器详细资料
-
RingBufferEvent
public RingBufferEvent()
-
-
方法详细资料
-
copy
-
copyFrom
-
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
从接口复制的说明:IAgentEvent获取事件的第一个参数- 指定者:
getObj0在接口中IAgentEvent
-
setObj0
从接口复制的说明:IAgentEvent设置事件的第一个参数- 指定者:
setObj0在接口中IAgentEvent
-
toString
-