ReaderWriterLockSlim.TryEnterReadLock 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
嘗試以選用的逾時,在讀取模式下進入鎖定狀態。
多載
TryEnterReadLock(Int32) |
嘗試以選用的整數逾時,進入讀取模式的鎖定狀態。 |
TryEnterReadLock(TimeSpan) |
嘗試以選用的逾時,在讀取模式下進入鎖定狀態。 |
TryEnterReadLock(Int32)
嘗試以選用的整數逾時,進入讀取模式的鎖定狀態。
public:
bool TryEnterReadLock(int millisecondsTimeout);
public bool TryEnterReadLock (int millisecondsTimeout);
member this.TryEnterReadLock : int -> bool
Public Function TryEnterReadLock (millisecondsTimeout As Integer) As Boolean
參數
傳回
如果呼叫執行緒已進入讀取模式,則為 true
;否則為 false
。
例外狀況
millisecondsTimeout
的值為負,但不等於 Infinite (-1),這是唯一允許的負值。
備註
如果 millisecondsTimeout
為 0 (零) ,這個方法會檢查鎖定狀態,並在所需的狀態無法使用時立即傳回 false
。
多個執行緒可以同時進入讀取模式。
如果一或多個執行緒正在等候進入寫入模式,則呼叫 TryEnterReadLock 方法的執行緒會封鎖,直到這些執行緒逾時或進入寫入模式,然後結束寫入模式,或直到呼叫執行緒自己的逾時間隔到期為止。
注意
如果鎖定允許遞迴,在讀取模式中進入鎖定的執行緒可以遞迴進入讀取模式,即使其他執行緒正在等候進入寫入模式也一樣。
一個執行緒可以處於可升級模式,而其他執行緒則處於讀取模式。 如果其他執行緒正在等候進入可升級模式,而且沒有線程等待進入寫入模式,則呼叫 方法的 TryEnterReadLock 執行緒會立即進入讀取模式,而且不會封鎖。
適用於
TryEnterReadLock(TimeSpan)
嘗試以選用的逾時,在讀取模式下進入鎖定狀態。
public:
bool TryEnterReadLock(TimeSpan timeout);
public bool TryEnterReadLock (TimeSpan timeout);
member this.TryEnterReadLock : TimeSpan -> bool
Public Function TryEnterReadLock (timeout As TimeSpan) As Boolean
參數
- timeout
- TimeSpan
等待的間隔,或 -1 毫秒無限期等待。
傳回
如果呼叫執行緒已進入讀取模式,則為 true
;否則為 false
。
例外狀況
備註
如果 timeout
為 0 (零) ,這個方法會檢查鎖定狀態,並在所需的狀態無法使用時立即傳回 false
。
多個執行緒可以同時進入讀取模式的鎖定。
如果一或多個執行緒排入佇列以進入寫入模式,則呼叫 TryEnterReadLock 方法的執行緒會封鎖直到這些執行緒逾時或進入寫入模式,然後結束寫入模式,或直到呼叫執行緒自己的逾時間隔到期為止。
注意
如果鎖定允許遞迴,在讀取模式中進入鎖定的執行緒可以遞迴進入讀取模式,即使其他執行緒正在等候進入寫入模式也一樣。
一個執行緒可以處於可升級模式,而其他執行緒則處於讀取模式。 如果其他執行緒正在等候進入可升級模式,而且沒有線程等待進入寫入模式,則呼叫 方法的 TryEnterReadLock 執行緒會立即進入讀取模式,而且不會封鎖。