ReaderWriterLockSlim.TryEnterReadLock 方法

定義

嘗試以選用的逾時,在讀取模式下進入鎖定狀態。

多載

TryEnterReadLock(Int32)

嘗試以選用的整數逾時,進入讀取模式的鎖定狀態。

TryEnterReadLock(TimeSpan)

嘗試以選用的逾時,在讀取模式下進入鎖定狀態。

TryEnterReadLock(Int32)

Source:
ReaderWriterLockSlim.cs
Source:
ReaderWriterLockSlim.cs
Source:
ReaderWriterLockSlim.cs

嘗試以選用的整數逾時,進入讀取模式的鎖定狀態。

public:
 bool TryEnterReadLock(int millisecondsTimeout);
public bool TryEnterReadLock (int millisecondsTimeout);
member this.TryEnterReadLock : int -> bool
Public Function TryEnterReadLock (millisecondsTimeout As Integer) As Boolean

參數

millisecondsTimeout
Int32

要等候的毫秒數;若要永遠等候,則為 -1 (Infinite)。

傳回

如果呼叫執行緒已進入讀取模式,則為 true;否則為 false

例外狀況

RecursionPolicy 屬性為 NoRecursion,且目前的執行緒已進入鎖定狀態。

-或-

遞迴的次數會超過計數器的容量。 限制過大,使應用程式永遠不會發生這個情形。

millisecondsTimeout 的值為負,但不等於 Infinite (-1),這是唯一允許的負值。

備註

如果 millisecondsTimeout 為 0 (零) ,這個方法會檢查鎖定狀態,並在所需的狀態無法使用時立即傳回 false

多個執行緒可以同時進入讀取模式。

如果一或多個執行緒正在等候進入寫入模式,則呼叫 TryEnterReadLock 方法的執行緒會封鎖,直到這些執行緒逾時或進入寫入模式,然後結束寫入模式,或直到呼叫執行緒自己的逾時間隔到期為止。

注意

如果鎖定允許遞迴,在讀取模式中進入鎖定的執行緒可以遞迴進入讀取模式,即使其他執行緒正在等候進入寫入模式也一樣。

一個執行緒可以處於可升級模式,而其他執行緒則處於讀取模式。 如果其他執行緒正在等候進入可升級模式,而且沒有線程等待進入寫入模式,則呼叫 方法的 TryEnterReadLock 執行緒會立即進入讀取模式,而且不會封鎖。

適用於

TryEnterReadLock(TimeSpan)

Source:
ReaderWriterLockSlim.cs
Source:
ReaderWriterLockSlim.cs
Source:
ReaderWriterLockSlim.cs

嘗試以選用的逾時,在讀取模式下進入鎖定狀態。

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

例外狀況

RecursionPolicy 屬性為 NoRecursion,且目前的執行緒已進入鎖定狀態。

-或-

遞迴的次數會超過計數器的容量。 限制過大,使應用程式永遠不會發生這個情形。

timeout 的值為負,但不等於 -1 毫秒,這是唯一允許的負值。

-或-

的值 timeout 大於 Int32.MaxValue 毫秒。

備註

如果 timeout 為 0 (零) ,這個方法會檢查鎖定狀態,並在所需的狀態無法使用時立即傳回 false

多個執行緒可以同時進入讀取模式的鎖定。

如果一或多個執行緒排入佇列以進入寫入模式,則呼叫 TryEnterReadLock 方法的執行緒會封鎖直到這些執行緒逾時或進入寫入模式,然後結束寫入模式,或直到呼叫執行緒自己的逾時間隔到期為止。

注意

如果鎖定允許遞迴,在讀取模式中進入鎖定的執行緒可以遞迴進入讀取模式,即使其他執行緒正在等候進入寫入模式也一樣。

一個執行緒可以處於可升級模式,而其他執行緒則處於讀取模式。 如果其他執行緒正在等候進入可升級模式,而且沒有線程等待進入寫入模式,則呼叫 方法的 TryEnterReadLock 執行緒會立即進入讀取模式,而且不會封鎖。

適用於