Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

คอลเลกชันที่ปลอดภัยต่อเธรดใน C #


.NET Framework 4 ได้แนะนำเนมสเปซ System.Collections.Concurrent เนมสเปซมีคลาสคอลเลกชั่นมากมาย คลาสเหล่านี้มีทั้งแบบปลอดภัยต่อเธรดและปรับขนาดได้ หลายเธรดสามารถเพิ่มหรือลบรายการออกจากคอลเล็กชันเหล่านี้ได้อย่างปลอดภัย

ประเภทคอลเลกชันที่เกิดขึ้นพร้อมกันต่อไปนี้ใช้กลไกการซิงโครไนซ์ที่มีน้ำหนักเบา:SpinLock, SpinWait เป็นต้น ซึ่งเป็นสิ่งใหม่ใน .NET Framework 4

ให้เราดูคอลเลกชันที่เกิดขึ้นพร้อมกันใน C# -

ซีเนียร์ ประเภทและคำอธิบาย
1

BlockingCollection

ฟังก์ชันการกั้นและบล็อกสำหรับประเภทใดก็ได้

2

พจนานุกรมพร้อมกัน

การใช้งานพจนานุกรมของคู่คีย์-ค่าอย่างปลอดภัยต่อเธรด

3

คิวพร้อมกัน

การใช้งานคิว FIFO (เข้าก่อน ออกก่อน) แบบปลอดภัยต่อเธรด

4

ConcurrentStack

การใช้งานสแต็ก LIFO (เข้าก่อน ออกก่อน) แบบปลอดภัยต่อเธรด

5

กระเป๋าพร้อมกัน

การนำคอลเลกชันองค์ประกอบที่ไม่เรียงลำดับไปใช้อย่างปลอดภัยต่อเธรด

6

IProducerConsumerCollection

อินเทอร์เฟซที่ประเภทต้องใช้เพื่อใช้ใน BlockingCollection