using System.Collections.Concurrent; namespace SHH.MjpegPlayer { /// /// 辅助类:线程安全集合 /// public class ConcurrentHashSet : IEnumerable { private readonly ConcurrentDictionary _dict = new ConcurrentDictionary(); public void Add(T item) => _dict.TryAdd(item, 0); public void Remove(T item) => _dict.TryRemove(item, out _); public bool IsEmpty => _dict.IsEmpty; public IEnumerator GetEnumerator() => _dict.Keys.GetEnumerator(); System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() => GetEnumerator(); } }