C# |检查数组是否同步(线程安全)
阵列。IsSynchronized Property 用于获取一个值,该值指示对数组的访问是否同步(线程安全)。
语法:
public bool IsSynchronized { get; }
属性值:对于所有数组,该属性始终返回 false 。
以下程序说明了上述属性的使用:
例 1:
// C# program to illustrate
// IsSynchronized Property of
// Array class
using System;
namespace geeksforgeeks {
class GFG {
// Main Method
public static void Main()
{
// The array with dimensions
// specified 4 row and 2 column.
int[, ] arr = new int[4, 2] {{1, 2 }, {3, 4},
{5, 6 }, {7, 8}};
// Here we check whether the
// array is synchronized (thread safe)
// or not
Console.WriteLine("Result: " + arr.IsSynchronized);
}
}
}
Output:
Result: False
例 2:
// C# program to illustrate
// IsSynchronized Property of
// Array class
using System;
namespace geeksforgeeks {
class GFG {
// Main Method
public static void Main()
{
// declares an 1D Array of string.
string[] topic;
// allocating null to array
topic = new string[] { null };
// Here we check whether the
// array is synchronized (thread safe)
// or not
Console.WriteLine("Result: " + topic.IsSynchronized);
}
}
}
Output:
Result: False
注:
- 数组实现同步属性,因为系统需要它。收藏。收藏界面。
- 使用数组的类也可以使用同步根属性实现自己的同步。
- 枚举集合不是线程安全的过程。即使同步了集合,其他线程仍然可以修改集合,这将导致枚举数引发异常。为了保证枚举期间的线程安全,可以在整个枚举期间锁定集合,也可以捕获由其他线程所做的更改导致的异常。
- 检索该属性的值是一个 O(1)操作。
参考:
版权属于:月萌API www.moonapi.com,转载请注明出处