public void Put(object item) { if (_listenerQueue.Count == 0) { _itemQueue.Enqueue(item); return; } var listener = _listenerQueue.Dequeue(); listener(item); }
public void Commit() { lock (_lockObject) { while (_preCommitQueue.Count > 0) { _postCommitQueue.Put(_preCommitQueue.Dequeue()); } } }