在 C# 中使用 ReaderWriterLock
ReaderWriterLock 同步對資源的訪問。
ReaderWriterLock 比 Monitor 具有更好的吞吐量,Monitor 是一種一次一個的鎖。這適用於資源很少被更改的情況。
讓我們看看如何在 C# 中宣告一個 ReaderWriter 鎖:
static ReaderWriterLock r = new ReaderWriterLock();
以下是 C# 中 ReaderWriter 鎖的一些屬性:
| 序號 | 屬性及描述 |
|---|---|
| 1 | IsReaderLockHeld 獲取一個值,指示當前執行緒是否持有讀者鎖。 |
| 2 | IsWriterLockHeld 獲取一個值,指示當前執行緒是否持有寫入器鎖。 |
| 3 | WriterSeqNum 當前序列號 |
以下是 ReaderWriter 鎖的一些方法:
| 序號 | 方法及描述 |
|---|---|
| 1 | AcquireReaderLock(TimeSpan) 獲取讀者鎖,使用 TimeSpan 值作為超時時間。 |
| 2 | AcquireWriterLock(TimeSpan) 獲取寫入器鎖,使用 TimeSpan 值作為超時時間。 |
| 3 | Equals(Object) 確定指定的物件是否等於當前物件。(繼承自 Object。) |
| 4 | GetHashCode() 預設雜湊值 |
| 5 | GetType() 當前例項的型別 |
| 6 | ReleaseReaderLock() 鎖計數遞減 |
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP