/// <summary> /// Inserts a type T object into the queue /// </summary> /// <param name="queueItem">T queue object</param> public void Enqueue(T queueItem) { using (AutoLock.LockToWrite(_lock, _timeout)) { _queue.Enqueue(queueItem); } }
public void Clear( ) { using (AutoLock.LockToWrite(_lock, _timeout)) { _dictionary.Clear( ); } }
public void Add(K key, V value) { using (AutoLock.LockToWrite(_lock, _timeout)) { _dictionary.Add(key, value); } }
public bool TryGetValue(K key, out V value) { using (AutoLock.LockToWrite(_lock, _timeout)) { return(_dictionary.TryGetValue(key, out value)); } }
public void Remove(K key) { using (AutoLock.LockToWrite(_lock, _timeout)) { _dictionary.Remove(key); } }
/// <summary> /// Removes the beginning item from the queue and returns the item /// </summary> /// <returns>type T item or default T if the queue is empty</returns> public T Dequeue( ) { using (AutoLock.LockToWrite(_lock, _timeout)) { if (0 != _queue.Count) { return(_queue.Dequeue( )); } } return(default(T)); }
public V this [K key] { get { using (AutoLock.LockToRead(_lock, _timeout)) { return(_dictionary [key]); } } set { using (AutoLock.LockToWrite(_lock, _timeout)) { _dictionary [key] = value; } } }