public void run() { // Publishers claim events in sequence long sequence = ringBuffer.next(); ValueEvent event = ringBuffer.get(sequence); for (int i = 0; i < 3000; i++) { event.setValue(i); // this could be more complex with multiple fields // make the event available to EventProcessors ringBuffer.publish(sequence); } }
@Override public void run() { try { cyclicBarrier.await(); for (long i = 0; i < iterations; i++) { long sequence = ringBuffer.next(); ValueEvent event = ringBuffer.get(sequence); event.setValue(i); ringBuffer.publish(sequence); } } catch (Exception ex) { throw new RuntimeException(ex); } }