.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.
Các kiểu thu thập đồng thời sau sử dụng cơ chế đồng bộ hóa nhẹ:SpinLock, SpinWait, v.v. Đây là những tính năng mới trong .NET Framework 4.
Hãy để chúng tôi xem tập hợp đồng thời trong C # -
Loại | Mô tả |
---|---|
BlockingCollection | Chức năng giới hạn và chặn cho bất kỳ loại nào. |
ConcurrentDictionary | Triển khai an toàn theo chuỗi của từ điển các cặp khóa-giá trị. |
ConcurrentQueue | Triển khai an toàn theo chuỗi của hàng đợi FIFO (vào trước, xuất trước). |
ConcurrentStack | Triển khai ngăn xếp LIFO (nhập sau cùng, xuất trước) an toàn theo chuỗi. |
ConcurrentBag | Triển khai an toàn theo chuỗi của một tập hợp các phần tử không có thứ tự. |
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
ConcurrentStack<int> cs = new ConcurrentStack<int>(); cs.Push(95); cs.Push(120); cs.Push(130);