2009-03-15 5 views
4

글쎄, 나는 닷넷에 글을 써야한다. 나는 마녀에게 내가 가지고있는 아이템을 결코 제거하지 않을 것이고 링크 된리스트를 추가 할 것이다. 나는 그것을 바꿀 수있다. 이 목록은 다른 방식으로는 변경되지 않지만 그 목록에 추가된다는 것을 알고있을 때이 경우 잠금이 필요합니까? (목록에 추가 할 때 잠금이 사용됩니다)?링크 된 목록 스레드로부터 안전합니까?

답변

3

아니요 안전하지 않습니다. LinkedList는 스레드 안전 클래스가 아닙니다. LinkedList의 지원되는 유일한 멀티 스레드 시나리오는 여러 독자

http://msdn.microsoft.com/en-us/library/he2s3bh7.aspx

+0

글쎄, 내가 미안하다고 말하려한다면, 많은 독자들과 단 한명의 작가가 그리울지도 모르겠다. 그 당시에는 적어도 한 명 이상의 작가가 안전 할 것이었다. – Peter

+0

@Petoj - 쓰기가 단일 스레드로 제한되어 있어도 읽기가 동시에 작성자와 안전하지 않을 수 있습니다. –

6

없음입니다; 많은 독자와 한 명의 작가 (Jared의 답변에 대한 의견)를 지원하기 위해 ReaderWriterLockSlim을보고 싶을 수도 있습니다. 작가는 배타적 액세스가 필요합니다. 독자는 협력 할 수 있습니다. 이것은 ReaderWriterLockSlim의 기능입니다. 또한 ReaderWriterLock 3.5가 있습니다.

수동으로 입력/종료 등을 처리해야합니다. 이상적으로는 try/finally를 사용하는 것이 가장 이상적입니다.

관련 문제