.NET Framework 4는 System.Collections.Concurrent 네임스페이스를 가져왔습니다. 여기에는 스레드로부터 안전하고 확장 가능한 여러 컬렉션 클래스가 있습니다. 이러한 컬렉션은 한 번에 여러 스레드에서 액세스할 수 있으므로 동시 컬렉션이라고 합니다.
다음은 C#의 동시 모음입니다 −
Sr.No | 유형 및 설명 |
---|---|
1 | 차단 수집 모든 유형에 대한 경계 및 차단 기능. |
2 | 동시 사전 키-값 쌍 사전의 스레드 안전 구현. |
3 | 동시 대기열 FIFO(선입선출) 대기열의 스레드로부터 안전한 구현입니다. |
4 | 동시 스택 LIFO(후입선출) 스택의 스레드 안전 구현. |
5 | 동시백 정렬되지 않은 요소 컬렉션의 스레드로부터 안전한 구현입니다. |
6 | IProducerConsumerCollection BlockingCollection에서 사용하기 위해 유형이 구현해야 하는 인터페이스 |
스레드로부터 안전한 LIFO(Last In First Out) 컬렉션인 ConcurrentStack
ConcurrentStack을 생성합니다.
ConcurrentStack<int> s = new ConcurrentStack<int>();
요소 추가
s.Push(1); s.Push(2); s.Push(3); s.Push(4); s.Push(5); s.Push(6);
예를 들어 보겠습니다.
예시
using System; using System.Collections.Concurrent; class Demo{ static void Main (){ ConcurrentStack s = new ConcurrentStack(); s.Push(50); s.Push(100); s.Push(150); s.Push(200); s.Push(250); s.Push(300); if (s.IsEmpty){ Console.WriteLine("The stack is empty!"); } else { Console.WriteLine("The stack isn't empty"); } } }