前文讲了那么多理论,原理。现在通过实际的代码,来看看Disruptor2.0的几种实际应用代码。
<dependency>
<groupId>com.lmax</groupId>
<artifactId>disruptor</artifactId>
<version>3.4.0</version>
<scope>test</scope>
</dependency>
Event事件定义:
/**
* Event,RingBuffer的数据
* @author wangxi
* @date 2019-10-16 16:31
*/
@Slf4j
public class DisruptorEvent implements Serializable {
Integer param;
public void setParam(Integer i){
this.param = param;
}
public void say(){
log.info("i===>{},nowTime===>{}, nowThreadId===>{}", param, System.currentTimeMillis()+"", Thread.currentThread().getId()+"");
}
}
Event事件工厂
/**
* @author wangxi
* @date 2019-10-16 16:42
*/
public class DisruptorEventFactory implements EventFactory<DisruptorEvent> {
@Override
public DisruptorEvent n

本文通过具体代码展示了Disruptor2.0在实际应用中的使用,包括Event事件定义、事件工厂、消费者EventHandler的设定以及生产者如何启动Disruptor,同时探讨了如何解决菱形依赖结构的问题。
最低0.47元/天 解锁文章
1665

被折叠的 条评论
为什么被折叠?



