ReaderWriterLock ซิงโครไนซ์การเข้าถึงทรัพยากร
ReaderWriterLock มีปริมาณงานที่ดีกว่าจอภาพ ซึ่งเป็นการล็อกทีละครั้ง วิธีนี้ใช้ได้กับสถานการณ์ที่ทรัพยากรไม่ค่อยมีการเปลี่ยนแปลง
ให้เราดูวิธีการประกาศการล็อก ReaderWriter ใน C# -
static ReaderWriterLock r = new ReaderWriterLock();
ต่อไปนี้เป็นคุณสมบัติของการล็อก ReaderWriter ใน C# -
ซีเนียร์ | คุณสมบัติ &คำอธิบาย |
---|---|
1 | IsReaderLockHold รับค่าที่ระบุว่าเธรดปัจจุบันมีการล็อกตัวอ่านหรือไม่ |
2 | IsWriterLockHold รับค่าที่ระบุว่าเธรดปัจจุบันมีการล็อกตัวเขียนหรือไม่ |
3 | WriterSeqNum หมายเลขลำดับปัจจุบัน |
ต่อไปนี้เป็นวิธีการบางอย่างในการล็อก ReaderWriter -
ซีเนียร์ | วิธีการ &คำอธิบาย |
---|---|
1 | AcquireReaderLock(TimeSpan) รับการล็อกตัวอ่านโดยใช้ค่า TimeSpan สำหรับการหมดเวลา |
2 | AcquireWriterLock(TimeSpan) รับการล็อกตัวเขียนโดยใช้ค่า TimeSpan สำหรับการหมดเวลา |
3 | เท่ากับ(วัตถุ) กำหนดว่าวัตถุที่ระบุเท่ากับวัตถุปัจจุบันหรือไม่ (สืบทอดมาจากวัตถุ) |
4 | GetHashCode() แฮชเริ่มต้น |
5 | GetType() ประเภทของอินสแตนซ์ปัจจุบัน |
6 | ReleaseReaderLock() ล็อคจำนวนลดลง |