Пример приветственного мира Disruptor

Я хочу изучить инфраструктуру Disruptor. Кто может дать мне пример helloworld, который может работать в основном методе с языком программирования Java?


person Felix    schedule 22.03.2012    source источник
comment
См. [Самый простой и актуальный пример кода LMAX Disruptor][1]. [1]: stackoverflow.com/questions/9168602/   -  person Heri    schedule 23.03.2012


Ответы (3)


Вот простой, работающий пример того, как использовать библиотеку Disruptor. Пример написан с использованием библиотеки Disruptor версии 2.10.4.

https://github.com/trevorbernard/disruptor-examples

Я также разместил сообщение в этой теме: Самый простой и актуальный пример кода LMAX Disruptor

person Trevor Bernard    schedule 24.01.2013

Вот еще один с моей стороны. Я попробовал один пример разрушителя с использованием библиотек Lmax с открытым исходным кодом.
Я думаю, что идея использования разрушителя lmax (а не внутренностей разрушителя) заключается в создании диспетчера сообщений и регистрации прослушивателя событий, такого как потребитель.

Вы создаете Disruptor с указанием типа сообщения.

Disruptor<Message> disruptor = new Disruptor<Message>(Message.EVENT_FACTORY, 2048, exec);`

Вы создаете обработчик

 final EventHandler<Message> handler = new EventHandler<Message>() {
        // event will eventually be recycled by the Disruptor after it wraps
        public void onEvent(final Message event, final long sequence, final boolean endOfBatch) throws Exception {
            Integer value = event.getMsg();
            if(value % 10000 == 0){
                System.out.println("ValueEvent: " + value + " Sequence: " + sequence);
                double timeINnanos = (System.nanoTime()-startTime);
                double timetaken = (timeINnanos/1e9);
                System.out.println("Time Taken till now in sec " + timetaken );
            }
        }
    };

Зарегистрировать обработчик в Disruptor

         disruptor.handleEventsWith(handler);

Запустите этот разрушитель и передайте возвращенный RingBuffer своему производителю

         RingBuffer<Message> ringBuffer = disruptor.start();
         Producer producer = new Producer(ringBuffer);

Полный код можно найти здесь ссылка на Github

person Rohit Sachan    schedule 14.01.2014

Я бы посоветовал вам взглянуть на тестовый каталог в коде LMAX Каталог тестов исходного кода LMAX. На мой взгляд, это лучший источник всех вещей, которые вы можете делать с LMAX. Простой пример можно найти по следующей ссылке: Простой пример

Я также предлагаю вам взглянуть на примеры DSL.

person Harry    schedule 11.01.2016