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
。
例外
RecursionPolicy プロパティが NoRecursion で、現在のスレッドは既にロックに入っています。
- または -
再帰の回数は、カウンターの容量を超える可能性があります。 この容量は非常に大きいので、アプリケーションでこの状況が発生することは通常はありません。
millisecondsTimeout
の値が負ですが、指定できる唯一の負の値である Infinite (-1) と等しくありません。
ReaderWriterLockSlim オブジェクトは破棄されました。
注釈
が 0 (ゼロ) の場合 millisecondsTimeout
、このメソッドはロック状態をチェックし、目的の状態が使用できない場合は直ちにを返します false
。
複数のスレッドが同時に読み取りモードに入ることができます。
1 つ以上のスレッドが書き込みモードに入るのを待機している場合、メソッドを呼び出す TryEnterReadLock スレッドは、それらのスレッドがタイムアウトするか書き込みモードに入ってからそのスレッドから終了するまで、または呼び出し元スレッドの独自のタイムアウト間隔が切れるまでブロックします。
Note
ロックで再帰が許可されている場合、読み取りモードでロックに入ったスレッドは、他のスレッドが書き込みモードに入るのを待機している場合でも、再帰的に読み取りモードに入ることができます。
1 つのスレッドはアップグレード可能モードになり、他のスレッドは読み取りモードになります。 追加のスレッドがアップグレード可能モードに入るのを待機していて、書き込みモードを待機しているスレッドがない場合、メソッドを呼び出 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
。
例外
RecursionPolicy プロパティが NoRecursion で、現在のスレッドは既にロックに入っています。
- または -
再帰の回数は、カウンターの容量を超える可能性があります。 この容量は非常に大きいので、アプリケーションでこの状況が発生することは通常はありません。
ReaderWriterLockSlim オブジェクトは破棄されました。
注釈
が 0 (ゼロ) の場合 timeout
、このメソッドはロック状態をチェックし、目的の状態が使用できない場合は直ちにを返します false
。
複数のスレッドが同時に読み取りモードでロックに入ることができます。
書き込みモードに入るために 1 つ以上のスレッドがキューに入っている場合、メソッドを呼び出す TryEnterReadLock スレッドは、それらのスレッドがタイムアウトするか書き込みモードに入ってからそのスレッドから終了するか、呼び出し元スレッドの独自のタイムアウト間隔が切れるまでブロックします。
Note
ロックで再帰が許可されている場合、読み取りモードでロックに入ったスレッドは、他のスレッドが書き込みモードに入るのを待機している場合でも、再帰的に読み取りモードに入ることができます。
1 つのスレッドはアップグレード可能モードになり、他のスレッドは読み取りモードになります。 追加のスレッドがアップグレード可能モードに入るのを待機していて、書き込みモードを待機しているスレッドがない場合、メソッドを呼び出 TryEnterReadLock すスレッドは直ちに読み取りモードに入り、ブロックしません。
適用対象
.NET