.NET Framework 4 ได้แนะนำเนมสเปซ System.Collections.Concurrent เนมสเปซมีคลาสคอลเลกชั่นมากมาย คลาสเหล่านี้มีทั้งแบบปลอดภัยต่อเธรดและปรับขนาดได้ หลายเธรดสามารถเพิ่มหรือลบรายการออกจากคอลเล็กชันเหล่านี้ได้อย่างปลอดภัย
ประเภทคอลเลกชันที่เกิดขึ้นพร้อมกันต่อไปนี้ใช้กลไกการซิงโครไนซ์ที่มีน้ำหนักเบา:SpinLock, SpinWait เป็นต้น ซึ่งเป็นสิ่งใหม่ใน .NET Framework 4
ให้เราดูคอลเลกชันที่เกิดขึ้นพร้อมกันใน C# -
| ซีเนียร์ | ประเภทและคำอธิบาย |
|---|---|
| 1 |
BlockingCollection ฟังก์ชันการกั้นและบล็อกสำหรับประเภทใดก็ได้ |
| 2 |
พจนานุกรมพร้อมกัน การใช้งานพจนานุกรมของคู่คีย์-ค่าอย่างปลอดภัยต่อเธรด |
| 3 |
คิวพร้อมกัน การใช้งานคิว FIFO (เข้าก่อน ออกก่อน) แบบปลอดภัยต่อเธรด |
| 4 |
ConcurrentStack การใช้งานสแต็ก LIFO (เข้าก่อน ออกก่อน) แบบปลอดภัยต่อเธรด |
| 5 |
กระเป๋าพร้อมกัน การนำคอลเลกชันองค์ประกอบที่ไม่เรียงลำดับไปใช้อย่างปลอดภัยต่อเธรด |
| 6 |
IProducerConsumerCollection อินเทอร์เฟซที่ประเภทต้องใช้เพื่อใช้ใน BlockingCollection |