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() ล็อคจำนวนลดลง |