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