[c#] ConcurrentStack 클래스
C#의 ConcurrentStack
클래스는 병렬로 접근할 수 있는 스택을 나타냅니다. 이 클래스는 여러 스레드에서 동시에 안전하게 항목을 추가하거나 제거할 수 있도록 설계되었습니다.
ConcurrentStack 사용 예제
아래는 ConcurrentStack
클래스를 사용하여 병렬로 접근할 수 있는 스택을 생성하고 조작하는 간단한 예제입니다.
using System;
using System.Collections.Concurrent;
class Program
{
static void Main()
{
ConcurrentStack<int> concurrentStack = new ConcurrentStack<int>();
// 항목 추가
concurrentStack.Push(1);
concurrentStack.Push(2);
concurrentStack.Push(3);
// 항목 제거
int result;
concurrentStack.TryPop(out result);
Console.WriteLine($"Popped item: {result}");
}
}
위 예제에서는 ConcurrentStack
을 생성하고 Push
메서드로 항목을 추가하고, TryPop
메서드로 항목을 제거하는 방법을 보여줍니다.
ConcurrentStack 주요 메서드
ConcurrentStack
클래스는 다음과 같은 주요 메서드를 제공합니다.
Push(T item)
: 스택에 항목을 추가합니다.TryPop(out T result)
: 스택에서 항목을 제거하고 반환합니다.TryPeek(out T result)
: 스택의 맨 위에 있는 항목을 제거하지 않고 반환합니다.Clear()
: 스택에서 모든 항목을 제거합니다.
마무리
ConcurrentStack
클래스는 여러 스레드에서 안전하게 스택을 조작할 수 있도록 해주는 강력한 도구입니다. 병렬 처리 환경에서 일반적인 스택을 사용할 때 발생할 수 있는 경항 조작 문제를 해결하는 데 유용합니다.
더 많은 정보는 공식 Microsoft 문서를 참조할 수 있습니다.