[c#] ConcurrentDictionary 클래스
ConcurrentDictionary 클래스는 다중 스레드 환경에서 안전하게 데이터를 저장하고 접근할 수 있도록 하는 제네릭 컬렉션입니다. 이 클래스는 동시에 여러 스레드가 해당 컬렉션에 액세스할 때 발생할 수 있는 문제를 효율적으로 해결할 수 있도록 설계되었습니다.
장점
- 안전한 스레드 처리: ConcurrentDictionary 클래스는 여러 스레드가 일시에 컬렉션에 접근해도 안전하게 데이터를 추가, 제거, 업데이트할 수 있도록 지원합니다.
- 성능: 동시성을 지원하므로 여러 스레드 간의 데이터 접근 및 조작이 효율적으로 이루어집니다.
사용 예시
using System;
using System.Collections.Concurrent;
class Program
{
static void Main()
{
var dict = new ConcurrentDictionary<string, int>();
dict.TryAdd("apple", 1);
dict.TryAdd("banana", 2);
if (dict.TryGetValue("apple", out int value))
{
Console.WriteLine($"The value of apple is {value}");
}
}
}
위의 예제는 ConcurrentDictionary를 사용하여 안전하게 데이터를 추가하고 조회하는 방법을 보여줍니다.
ConcurrentDictionary 클래스는 .NET Framework 및 .NET Core에서 지원되며, Microsoft 공식 문서에서 자세한 정보를 확인할 수 있습니다.
참고: ConcurrentDictionary Class - Microsoft Docs