BitArray.IsSynchronized Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
erişimin BitArray eşitlenip eşitlenmediğini belirten bir değer alır (iş parçacığı güvenli).
public:
property bool IsSynchronized { bool get(); };
public bool IsSynchronized { get; }
member this.IsSynchronized : bool
Public ReadOnly Property IsSynchronized As Boolean
Özellik Değeri
Bu özellik her zaman false
şeklindedir.
Uygulamalar
Örnekler
Aşağıdaki kod örneği, tüm numaralandırma sırasında kullanarak SyncRoot koleksiyonun nasıl kilitlenmesini göstermektedir.
BitArray^ myCollection = gcnew BitArray(64, true);
bool lockTaken = false;
try
{
Monitor::Enter(myCollection->SyncRoot, lockTaken);
for each (Object^ item in myCollection)
{
// Insert your code here.
}
}
finally
{
if (lockTaken)
{
Monitor::Exit(myCollection->SyncRoot);
}
}
BitArray myCollection = new BitArray(64, true);
lock(myCollection.SyncRoot)
{
foreach (object item in myCollection)
{
// Insert your code here.
}
}
Dim myCollection As New BitArray(64, true)
SyncLock myCollection.SyncRoot
For Each item In myCollection
' Insert your code here.
Next item
End SyncLock
Bu yöntem bir O(1)
işlemdir.
Açıklamalar
BitArray , arabirimi tarafından IsSynchronizedSystem.Collections.ICollection gerekli olduğundan özelliğini uygular.
Bir koleksiyon ile numaralandırma, aslında iş parçacığı açısından güvenli yordam değildir. Bir koleksiyon eşitlendiği zaman bile, diğer iş parçacıkları numaralandırıcının özel durum oluşturmasına neden olan koleksiyonu değiştirebilir. Numaralandırma sırasında iş parçacığı güvenliği sağlamak için tüm numaralandırma sırasında koleksiyonu kilitleyebilir veya diğer iş parçacıkları tarafından yapılan değişikliklerden kaynaklanan özel durumları yakalayabilirsiniz.