ConcurrentBag는 .NET에서 여러 스레드로부터 잠금 없이 결과를 안전하게 수집할 때 사용되는 스레드 안전한 컬렉션입니다. 🧵- 일반
List<T>는 스레드 안전하지 않으므로 다중 스레드 환경에서 동시 데이터 수집에 사용해서는 안 됩니다. 🚫 ConcurrentBag<T>를 사용하면 각 스레드가 동시에 안전하게 항목을 추가할 수 있습니다. ➕TryTake메서드를 통해ConcurrentBag에서 항목을 안전하게 꺼낼 수 있습니다. 📤ConcurrentBag는 항목의 순서가 보장되지 않으며, 순서가 중요하지 않고 데이터를 빠르게 수집해야 할 때 이상적입니다. ⚡- 만약 FIFO(선입선출)와 같은 특정 순서가 필요한 경우에는
ConcurrentQueue<T>를 사용해야 합니다. 🔄 ConcurrentBag는 여러 생산자(producer)에게 잠금 없는(lock-free) 고성능을 제공합니다. 🚀





