private void Commit(long sequence, long batchSize) { if (_isMultithreaded) { long expectedSequence = sequence - batchSize; while (expectedSequence != _ringBuffer.Cursor) { // busy spin } } _ringBuffer.Cursor = sequence; // volatile write _waitStrategy.SignalAll(); }
public void Alert() { _alerted = true; _waitStrategy.SignalAll(); }