스레드 안전성 측면에서 HashTable과 사전간에 차이가 있습니까? 다음과 같이 나는 어떤 ... MSDN에 따르면, 모두가 정의되어 표시되지 않습니다 : -사전과 해시 테이블 간의 차이점 스레드 안전성
의 Hashtable 여러 판독기 스레드와 하나의 쓰기 스레드로 안전하게 사용할 수 스레드입니다. 스레드 중 하나만 쓰기 (업데이트) 작업을 수행 할 때은 Hashtable 으로 직렬화되면 lock-free 읽기가 허용되는 멀티 스레드 스레드에서는 스레드 안전성을 보장합니다.
사전은 다수의 독자를 지원할 수는 동시에, 는 한 컬렉션이 수정되지 않는. 그렇더라도 컬렉션을 통해 을 열거하는 것은 본질적으로 스레드로부터 안전한 프로 시저가 아닙니다. 열거 형이 쓰기 액세스와 경합하는 드문 경우이지만 전체 열거 중에 컬렉션을 잠 가야합니다. 읽기 및 쓰기를 위해 컬렉션에 여러 스레드에서 액세스 할 수있게하려면 자신의 동기화를 구현해야합니다.
HashTable = 일반이 아니므로 사용하지 마십시오. 이제까지. 지원되지 않습니다. –
@KonradRudolph, 그것은 더 이상 사용되지 않지만 IMO는 ...이어야합니다. –
@Thomas 정확히. 나는 그렇게 선언한다. 나는 마이크로 소프트가 아직도이 수업에서 플러그를 뽑지 않은 이유를 모르지만 정중 한 회사에서는 사용하지 않는다. –