Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

C#에서 스레드로부터 안전한 컬렉션 만들기

<시간/>

.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);