次の方法で共有


ReaderWriterLockSlim.TryEnterReadLock メソッド

定義

オプションのタイムアウトを指定して、読み取りモードでロックに入ることを試みます。

オーバーロード

TryEnterReadLock(Int32)

オプションのタイムアウトを表す整数を指定して、読み取りモードでロックに入ることを試みます。

TryEnterReadLock(TimeSpan)

オプションのタイムアウトを指定して、読み取りモードでロックに入ることを試みます。

TryEnterReadLock(Int32)

ソース:
ReaderWriterLockSlim.cs
ソース:
ReaderWriterLockSlim.cs
ソース:
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

待機するミリ秒数。無制限に待機する場合は Infinite (-1)。

戻り値

呼び出し元のスレッドが読み取りモードに入った場合は true、それ以外の場合は false

例外

RecursionPolicy プロパティが NoRecursion で、現在のスレッドは既にロックに入っています。

- または -

再帰の回数は、カウンターの容量を超える可能性があります。 この容量は非常に大きいので、アプリケーションでこの状況が発生することは通常はありません。

millisecondsTimeout の値が負ですが、指定できる唯一の負の値である Infinite (-1) と等しくありません。

ReaderWriterLockSlim オブジェクトは破棄されました。

注釈

が 0 (ゼロ) の場合 millisecondsTimeout 、このメソッドはロック状態をチェックし、目的の状態が使用できない場合は直ちにを返します false

複数のスレッドが同時に読み取りモードに入ることができます。

1 つ以上のスレッドが書き込みモードに入るのを待機している場合、メソッドを呼び出す TryEnterReadLock スレッドは、それらのスレッドがタイムアウトするか書き込みモードに入ってからそのスレッドから終了するまで、または呼び出し元スレッドの独自のタイムアウト間隔が切れるまでブロックします。

Note

ロックで再帰が許可されている場合、読み取りモードでロックに入ったスレッドは、他のスレッドが書き込みモードに入るのを待機している場合でも、再帰的に読み取りモードに入ることができます。

1 つのスレッドはアップグレード可能モードになり、他のスレッドは読み取りモードになります。 追加のスレッドがアップグレード可能モードに入るのを待機していて、書き込みモードを待機しているスレッドがない場合、メソッドを呼び出 TryEnterReadLock すスレッドは直ちに読み取りモードに入り、ブロックしません。

適用対象

TryEnterReadLock(TimeSpan)

ソース:
ReaderWriterLockSlim.cs
ソース:
ReaderWriterLockSlim.cs
ソース:
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 ミリ秒を超えています。

ReaderWriterLockSlim オブジェクトは破棄されました。

注釈

が 0 (ゼロ) の場合 timeout 、このメソッドはロック状態をチェックし、目的の状態が使用できない場合は直ちにを返します false

複数のスレッドが同時に読み取りモードでロックに入ることができます。

書き込みモードに入るために 1 つ以上のスレッドがキューに入っている場合、メソッドを呼び出す TryEnterReadLock スレッドは、それらのスレッドがタイムアウトするか書き込みモードに入ってからそのスレッドから終了するか、呼び出し元スレッドの独自のタイムアウト間隔が切れるまでブロックします。

Note

ロックで再帰が許可されている場合、読み取りモードでロックに入ったスレッドは、他のスレッドが書き込みモードに入るのを待機している場合でも、再帰的に読み取りモードに入ることができます。

1 つのスレッドはアップグレード可能モードになり、他のスレッドは読み取りモードになります。 追加のスレッドがアップグレード可能モードに入るのを待機していて、書き込みモードを待機しているスレッドがない場合、メソッドを呼び出 TryEnterReadLock すスレッドは直ちに読み取りモードに入り、ブロックしません。

適用対象