首页 > TAG信息列表 > disruptor-pattern

java-LMAX Disruptor事件中的类字段是否需要可变?

LMAX Disruptor“入门”中的示例代码… public class LongEvent { private long value; public void set(long value) { this.value = value; } } 参考:https://github.com/LMAX-Exchange/disruptor/wiki/Getting-Started 为什么私有长值不被声明为易变

java-使用非本地ByteOrder时ByteBuffer.putLong快2倍

尽管广泛阅读了JDK源代码并检查了内在例程,但我还是不能一概而论. 我正在测试清除使用ByteBuffer.putLong(int index,long value)用allocateDirect分配的ByteBuffer.基于JDK代码,如果缓冲区为“本机字节顺序”,则将导致单个8字节的写操作;如果不按字节交换,则将导致相同的写操作. 因

java-监视LMAX Disruptor

如何监控LMAX干扰器?假设我有3个环形缓冲区,并希望提供一个可以给我有关环形缓冲区信息的ui.解决方法:您可能要监视的最重要的属性是剩余容量,以便您可以判断消费者是否跟上需求. 最简单的公开方法是创建一个可以读取RingBuffer.remainingCapacity()并通过JMX公开的bean.这样一来,您

java – LMAX Disruptor – 什么决定批量大小?

我最近一直在学习LMAX Disruptor并且正在做一些实验.令我困惑的一件事是EventHandler的onEvent处理程序方法的endOfBatch参数.请考虑以下代码.首先,我称为Test1和Test1Worker的虚拟消息和消费者类: public class Test1 { } public class Test1Worker implements EventHandler<Tes

java – 用单线程LMAX编写

我已经了解了LMAX和这个名为RingBuffer的精彩概念. 所以大家告诉我,当只用一个线程写入ringbuffer时,性能比多个生产者更好…… 但是,我真的没有发现tipical应用程序只能使用一个线程在ringbuffer上写入…我真的不明白lmax是如何做的(如果他们这样做).例如,N个不同的交易者在交易所