此方法(位於System.Collections命名空間下)用於獲取一個值,該值指示對堆棧的訪問是否同步(線程安全)。為了保證Stack的線程安全,所有操作必須通過Synchronized方法返回的包裝器完成。同樣,檢索此屬性的值是O(1)操作。
用法:
public virtual bool IsSynchronized { get; }
返回值:如果同步訪問堆棧(線程安全),則此屬性返回true,否則返回false。默認值為false。
以下示例程序旨在說明上麵討論的屬性的用法:
範例1:
// C# code to illustrate the
// Stack.IsSynchronized Property
using System;
using System.Collections;
class GFG {
// Driver code
public static void Main()
{
// Creating a Stack
Stack myStack = new Stack();
// Inserting the elements into the Stack
myStack.Push("Geeks");
myStack.Push("Geeks Classes");
myStack.Push("Noida");
myStack.Push("Data Structures");
myStack.Push("GeeksforGeeks");
// Creates a synchronized
// wrapper around the Stack
Stack ss = Stack.Synchronized(myStack);
// Displaying the synchronization
// status of both Stack
Console.WriteLine("myStack is {0}.", myStack.IsSynchronized ?
"Synchronized" :"Not Synchronized");
Console.WriteLine("ss is {0}.", ss.IsSynchronized ?
"Synchronized" :"Not Synchronized");
}
}
輸出:
myStack is Not Synchronized. ss is Synchronized.
範例2:
// C# code to illustrate the
// Stack.IsSynchronized Property
using System;
using System.Collections;
class GFG {
// Driver code
public static void Main()
{
// Creating a Stack
Stack myStack = new Stack();
// Inserting elements into Stack
myStack.Push("1st");
myStack.Push("2nd");
myStack.Push("3rd");
myStack.Push("4th");
myStack.Push("5th");
// the default is false for
// IsSynchronized property
Console.WriteLine(myStack.IsSynchronized);
}
}
輸出:
False
參考:
相關用法
- C# Stack.Count用法及代碼示例
- C# Queue.IsSynchronized用法及代碼示例
- C# Queue.Count用法及代碼示例
- C# Dictionary.Item[]用法及代碼示例
- C# Dictionary.Values用法及代碼示例
- C# Dictionary.Keys用法及代碼示例
- C# Dictionary.Count用法及代碼示例
- C# SortedDictionary.Count用法及代碼示例
- C# SortedDictionary.Keys用法及代碼示例
- C# SortedDictionary.Values用法及代碼示例
- C# SortedDictionary.Item[]用法及代碼示例
注:本文由純淨天空篩選整理自Kirti_Mangal大神的英文原創作品 Stack.IsSynchronized Property in C#。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。