{
workers[i] = new StubConsumer();
workers[i].sequence_(expectedNumberMessages - 1);
}
final ConsumerBarrier consumerBarrier = ringBuffer.createConsumerBarrier(workers);
Runnable runnable = new Runnable()
{
public void run()
{
StubEntry entry = ringBuffer.nextEntry();
entry.setValue((int) entry.sequence());
ringBuffer.commit(entry);
for (StubConsumer stubWorker : workers)
{
stubWorker.sequence_(entry.sequence());
}
}
};
new Thread(runnable).start();
long expectedWorkSequence = expectedNumberMessages;
long completedWorkSequence = consumerBarrier.waitFor(expectedNumberMessages);
assertTrue(completedWorkSequence >= expectedWorkSequence);
}