Пример разрушителя helloworld - PullRequest
7 голосов
/ 22 марта 2012

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

Ответы [ 3 ]

12 голосов
/ 24 января 2013

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

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

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

4 голосов
/ 14 января 2014

Вот еще один с моей стороны. Я попробовал один пример разрушителя, используя библиотеки Lmax с открытым исходным кодом.
Я думаю, что идея использования lmax disruptor (а не внутренностей 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.handleEventsWith(handler);

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

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

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

2 голосов
/ 11 января 2016

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...