다중 스레드 응용 프로그램에서. 정보를 읽기 위해 컬렉션을 반복하는 기능이 있습니다. 또한 같은 컬렉션을 수정하는 많은 기능이 있습니다.다중 스레드 읽기 및 쓰기 분리
나는 모든 읽기와 쓰기를 분리하는 방법을 찾고 있습니다. 읽기가 진행되는 동안 쓰기가 수행되기를 원하지 않습니다. 나는 컬렉션 객체에서 SyncLock을 사용하려고 생각 했었지만, 병렬로 작업하려고하는 다중 읽기를 차단할 것이다.
다중 스레드 응용 프로그램에서. 정보를 읽기 위해 컬렉션을 반복하는 기능이 있습니다. 또한 같은 컬렉션을 수정하는 많은 기능이 있습니다.다중 스레드 읽기 및 쓰기 분리
나는 모든 읽기와 쓰기를 분리하는 방법을 찾고 있습니다. 읽기가 진행되는 동안 쓰기가 수행되기를 원하지 않습니다. 나는 컬렉션 객체에서 SyncLock을 사용하려고 생각 했었지만, 병렬로 작업하려고하는 다중 읽기를 차단할 것이다.
ReaderWriterLockSlim을 고려하셨습니까? 그래도 check that using it is faster than a simple Monitor lock 할 수 있습니다. 이전 ReaderWriterLock을 고려하지 마십시오. 여기 제프리 리히터 그것에 대해 말해야하는 내용은 다음과 같습니다
이는 Microsoft® .NET Framework 클래스 라이브러리는 다중 리더/단일 작가를 취득 할 수있는하여 System.Threading 네임 스페이스에서 ReaderWriterLock 클래스를 포함 의미론. 이와 같은 클래스가 존재하는 것이 좋지만, 구현에는 몇 가지 문제가 있으며 을 사용하는 것이 좋습니다. 사용하지 않는 것이 좋습니다.