다음을 통해 공유


PropertyCollection.ICollection.IsSynchronized 속성

정의

ICollection에 대한 액세스가 동기화되어 스레드로부터 안전하게 보호되는지를 나타내는 값을 가져옵니다.

property bool System::Collections::ICollection::IsSynchronized { bool get(); };
bool System.Collections.ICollection.IsSynchronized { get; }
member this.System.Collections.ICollection.IsSynchronized : bool
 ReadOnly Property IsSynchronized As Boolean Implements ICollection.IsSynchronized

속성 값

true에 대한 액세스가 동기화되어 스레드로부터 안전하게 보호되면 ICollection이고, 그렇지 않으면 false입니다.

구현

설명

SyncRootICollection에 대한 액세스를 동기화하는 데 사용할 수 있는 개체를 반환합니다.

에 있는 대부분의 컬렉션 클래스는 System.Collections 네임 스페이스는 내부 컬렉션에 동기화 된 래퍼를 제공 하는 동기화 메서드를 구현 합니다.

컬렉션을 열거 되지 본질적으로 스레드로부터 안전한 프로시저가 있습니다. 컬렉션이 동기화되어 있을 때 다른 스레드에서 해당 컬렉션을 수정할 수 있으므로 이렇게 되면 열거자에서 예외가 throw됩니다. 을 열거 하는 동안 스레드로부터 안전을 보장 하기 위해 전체 열거 동안 컬렉션을 잠글 또는 다른 스레드에서 변경에서 발생 하는 예외를 catch 합니다.

다음 예제에서는 전체 열거형 동안 을 SyncRoot 사용하여 컬렉션을 잠그는 방법을 보여 있습니다.

ICollection myCollection = new ICollection();  
  lock(myCollection.SyncRoot) {  
  foreach (Object item in myCollection) {  
  // Insert your code here.  
  }  
 }  
Dim myCollection As New ICollection()  
 Dim item As Object  
 SyncLock myCollection.SyncRoot  
  For Each item In myCollection  
  ' Insert your code here.  
  Next item  
 End SyncLock  

적용 대상

추가 정보