[c#] ImmutableQueue 클래스
.NET에서 제공하는 System.Collections.Immutable
네임스페이스에는 변경할 수 없는(immutable) 컬렉션을 제공합니다. 그 중 ImmutableQueue
클래스는 변경 불가능한 큐를 나타냅니다.
생성과 사용 방법
먼저 ImmutableQueue
를 사용하기 위해서는 System.Collections.Immutable
네임스페이스를 참조해야 합니다.
using System.Collections.Immutable;
빈 큐 생성하기
var emptyQueue = ImmutableQueue<int>.Empty;
원소 추가하기
var queue1 = emptyQueue.Enqueue(1);
var queue2 = queue1.Enqueue(2).Enqueue(3);
원소 제거하기
var (head, tail) = queue2.Dequeue();
원소 조회하기
var front = queue2.Peek();
ImmutableQueue
클래스는 변경할 수 없는 큐로써 새로운 큐를 만들 때마다 기존 큐의 상태는 변하지 않습니다.
장점
- 스레드 안전성: 여러 스레드에서 동시에
ImmutableQueue
를 사용해도 안전합니다. - 성능: 큐의 구조가 변경 불가능하므로 새로운 원소를 추가하거나 제거하더라도 원본 큐를 변경하지 않기 때문에 더 빠른 처리가 가능합니다.
결론
ImmutableQueue
클래스는 변경할 수 없는 큐로서 안전하고 효율적인 작업을 위해 사용할 수 있습니다. 다중 스레드 환경이나 동시성 작업에서 유용하게 활용할 수 있는 클래스입니다.
더 자세한 내용은 공식 문서를 참고하시기 바랍니다.