C# |检查混合字典是否同步(线程安全)
原文:https://www . geesforgeks . org/c-sharp-check-if-hybrid dictionary-is-synchronized-thread-safe/
杂交词典。IsSynchronized 属性用于获取一个值,该值指示混合字典是否同步(线程安全)。
语法:
public bool IsSynchronized { get; }
返回值:该属性始终返回 false 。
以下程序说明了混合词典的使用。同步属性:
例 1:
// C# code to check whether the
// HybridDictionary is synchronized
// (thread safe).
using System;
using System.Collections;
using System.Collections.Specialized;
class GFG {
// Driver code
public static void Main()
{
// Creating a HybridDictionary named myDict
HybridDictionary myDict = new HybridDictionary();
// Adding key/value pairs in myDict
myDict.Add("I", "first");
myDict.Add("II", "second");
myDict.Add("III", "third");
myDict.Add("IV", "fourth");
myDict.Add("V", "fifth");
// To check whether the HybridDictionary
// is synchronized (thread safe).
Console.WriteLine(myDict.IsSynchronized);
}
}
输出:
False
例 2:
// C# code to check whether the
// HybridDictionary is synchronized
// (thread safe).
using System;
using System.Collections;
using System.Collections.Specialized;
class GFG {
// Driver code
public static void Main()
{
// Creating a HybridDictionary named myDict
HybridDictionary myDict = new HybridDictionary();
// Adding key/value pairs in myDict
myDict.Add("key1", "value1");
myDict.Add("key2", "value2");
myDict.Add("key3", "value3");
myDict.Add("key4", "value4");
myDict.Add("key5", "value5");
// To check whether the HybridDictionary
// is synchronized (thread safe).
Console.WriteLine(myDict.IsSynchronized);
}
}
输出:
False
注意:枚举集合本质上不是一个线程安全的过程。即使同步了集合,其他线程仍然可以修改集合,这将导致枚举数引发异常。为了保证枚举期间的线程安全,可以在整个枚举期间锁定集合,也可以捕获由其他线程所做的更改导致的异常。
参考:
版权属于:月萌API www.moonapi.com,转载请注明出处