在 C# 中使用 ReaderWriter Lock
ReaderWriterLock 用於同步對資源的訪問。
ReaderWriterLock 擁有比 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 是否等於當前物件。(從 Object 繼承。) |
| 4 | GetHashCode() 預設雜湊 |
| 5 | GetType() 當前例項的型別 |
| 6 | ReleaseReaderLock() 鎖計數遞減 |
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
JavaScript
PHP