📜  C#|检查BitArray是否同步(线程安全)

📅  最后修改于: 2021-05-29 21:26:05             🧑  作者: Mango

BitArray类管理一个紧凑的位值数组,这些值表示为布尔值,其中true表示该位打开,1 ,false表示该位关闭,0 。此类包含在System.Collections命名空间中。
BitArray.IsSynchronized属性用于获取一个值,该值指示对BitArray的访问是否已同步(线程安全)。

特性:

  • BitArray类是一个集合类,其中容量始终与计数相同。
  • 通过增加Length属性将元素添加到BitArray中。
  • 通过减小Length属性来删除元素。
  • 可以使用整数索引访问此集合中的元素。此集合中的索引从零开始。

句法:

public bool IsSynchronized { get; }

返回值:该属性始终为false

例子:

// C# code to check if the BitArray
// is synchronized (thread safe)
using System;
using System.Collections;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a BitArray
        BitArray myBitArr = new BitArray(7, true);
  
        // The following code example shows how
        // to lock the collection using the SyncRoot
        // during the entire enumeration.
        lock(myBitArr.SyncRoot)
        {
            foreach(object item in myBitArr)
            {
                // Insert your code here.
                Console.WriteLine("GeeksforGeeks");
            }
        }
    }
}

输出:

GeeksforGeeks
GeeksforGeeks
GeeksforGeeks
GeeksforGeeks
GeeksforGeeks
GeeksforGeeks
GeeksforGeeks

注意:此方法是O(1)操作。

参考:

  • https://docs.microsoft.com/zh-cn/dotnet/api/system.collections.bitarray.issynchronized?view=netframework-4.7.2