.NET Framework 4는 System.Collections.Concurrent 네임스페이스를 가져왔습니다. 여기에는 스레드로부터 안전하고 확장 가능한 여러 컬렉션 클래스가 있습니다. 이러한 컬렉션은 한 번에 여러 스레드에서 액세스할 수 있으므로 동시 컬렉션이라고 합니다.
다음 동시 컬렉션 유형은 간단한 동기화 메커니즘을 사용합니다:SpinLock, SpinWait 등. 이들은 .NET Framework 4의 새로운 기능입니다.
C#에서 동시 컬렉션을 봅시다 −
유형 | 설명 |
---|---|
차단 수집 | 모든 유형에 대한 경계 및 차단 기능. |
동시사전 | 키-값 쌍 사전의 스레드 안전 구현. |
동시 대기열 | FIFO(선입선출) 대기열의 스레드 안전 구현. |
동시 스택 | LIFO(후입선출) 스택의 스레드 안전 구현 |
동시백 | 순서 없는 요소 컬렉션의 스레드로부터 안전한 구현. |
IProducerConsumerCollection | BlockingCollection에서 사용하기 위해 유형이 구현해야 하는 인터페이스 |
스레드로부터 안전한 LIFO(Last In First Out) 컬렉션인 ConcurrentStack
ConcurrentStack<int> cs = new ConcurrentStack<int>(); cs.Push(95); cs.Push(120); cs.Push(130);