.NET Framework 4 mang lại không gian tên System.Collections.Concurrent. Điều này có một số lớp bộ sưu tập an toàn theo luồng và có thể mở rộng. Các tập hợp này được gọi là tập hợp đồng thời vì chúng có thể được truy cập bởi nhiều chuỗi cùng một lúc.
Sau đây là tập hợp đồng thời trong C # -
Sr.No | Loại &Mô tả |
---|---|
1 | BlockingCollection Chức năng giới hạn và chặn cho bất kỳ loại nào. |
2 | ConcurrentDictionary Triển khai an toàn theo chuỗi của từ điển các cặp khóa-giá trị. |
3 | ConcurrentQueue Triển khai an toàn theo luồng của hàng đợi FIFO (vào trước, xuất trước). |
4 | ConcurrentStack Triển khai an toàn theo luồng của ngăn xếp LIFO (nhập sau cùng, xuất trước). |
5 | ConcurrentBag Triển khai an toàn theo luồng của một tập hợp các phần tử không có thứ tự. |
6 | IProductionerConsumerCollection Giao diện mà một loại phải triển khai để được sử dụng trong BlockingCollection |
Hãy để chúng tôi xem cách làm việc với ConcurrentStack
Tạo một ConcurrentStack.
ConcurrentStack<int> s = new ConcurrentStack<int>();
Thêm các phần tử
s.Push(1); s.Push(2); s.Push(3); s.Push(4); s.Push(5); s.Push(6);
Hãy để chúng tôi xem một ví dụ
Ví dụ
using System; using System.Collections.Concurrent; class Demo{ static void Main (){ ConcurrentStack s = new ConcurrentStack(); s.Push(50); s.Push(100); s.Push(150); s.Push(200); s.Push(250); s.Push(300); if (s.IsEmpty){ Console.WriteLine("The stack is empty!"); } else { Console.WriteLine("The stack isn't empty"); } } }