SpinLock.TryEnter SpinLock.TryEnter SpinLock.TryEnter SpinLock.TryEnter Method

定義

メソッド呼び出し内で例外が発生した場合でも、lockTaken を確実に確認して、ロックが取得されたかどうかを判断できるような信頼性の高い方法で、ロックの取得を試みます。Attempts to acquire the lock in a reliable manner, such that even if an exception occurs within the method call, lockTaken can be examined reliably to determine whether the lock was acquired.

オーバーロード

TryEnter(Boolean) TryEnter(Boolean) TryEnter(Boolean) TryEnter(Boolean)

メソッド呼び出し内で例外が発生した場合でも、lockTaken を確実に確認して、ロックが取得されたかどうかを判断できるような信頼性の高い方法で、ロックの取得を試みます。Attempts to acquire the lock in a reliable manner, such that even if an exception occurs within the method call, lockTaken can be examined reliably to determine whether the lock was acquired.

TryEnter(Int32, Boolean) TryEnter(Int32, Boolean) TryEnter(Int32, Boolean) TryEnter(Int32, Boolean)

メソッド呼び出し内で例外が発生した場合でも、lockTaken を確実に確認して、ロックが取得されたかどうかを判断できるような信頼性の高い方法で、ロックの取得を試みます。Attempts to acquire the lock in a reliable manner, such that even if an exception occurs within the method call, lockTaken can be examined reliably to determine whether the lock was acquired.

TryEnter(TimeSpan, Boolean) TryEnter(TimeSpan, Boolean) TryEnter(TimeSpan, Boolean) TryEnter(TimeSpan, Boolean)

メソッド呼び出し内で例外が発生した場合でも、lockTaken を確実に確認して、ロックが取得されたかどうかを判断できるような信頼性の高い方法で、ロックの取得を試みます。Attempts to acquire the lock in a reliable manner, such that even if an exception occurs within the method call, lockTaken can be examined reliably to determine whether the lock was acquired.

TryEnter(Boolean) TryEnter(Boolean) TryEnter(Boolean) TryEnter(Boolean)

メソッド呼び出し内で例外が発生した場合でも、lockTaken を確実に確認して、ロックが取得されたかどうかを判断できるような信頼性の高い方法で、ロックの取得を試みます。Attempts to acquire the lock in a reliable manner, such that even if an exception occurs within the method call, lockTaken can be examined reliably to determine whether the lock was acquired.

public:
 void TryEnter(bool % lockTaken);
public void TryEnter (ref bool lockTaken);
member this.TryEnter : bool -> unit
Public Sub TryEnter (ByRef lockTaken As Boolean)

パラメーター

lockTaken
Boolean Boolean Boolean Boolean

ロックが取得された場合は true。それ以外の場合は false。True if the lock is acquired; otherwise, false. このメソッドを呼び出す前に、lockTaken を false に初期化する必要があります。lockTaken must be initialized to false prior to calling this method.

例外

lockTaken 引数は、TryEnter を呼び出す前に false に初期化する必要があります。The lockTaken argument must be initialized to false prior to calling TryEnter.

スレッドの所有権の追跡が有効で、現在のスレッドは既にこのロックを取得しています。Thread ownership tracking is enabled, and the current thread has already acquired this lock.

注釈

Enterは異なり、TryEnter はロックが使用可能になるのを待機することをブロックしません。Unlike Enter, TryEnter will not block waiting for the lock to be available. TryEnter が呼び出されたときにロックが使用できない場合は、それ以上スピンせずにすぐに制御が戻ります。If the lock is not available when TryEnter is called, it will return immediately without any further spinning.

こちらもご覧ください

TryEnter(Int32, Boolean) TryEnter(Int32, Boolean) TryEnter(Int32, Boolean) TryEnter(Int32, Boolean)

メソッド呼び出し内で例外が発生した場合でも、lockTaken を確実に確認して、ロックが取得されたかどうかを判断できるような信頼性の高い方法で、ロックの取得を試みます。Attempts to acquire the lock in a reliable manner, such that even if an exception occurs within the method call, lockTaken can be examined reliably to determine whether the lock was acquired.

public:
 void TryEnter(int millisecondsTimeout, bool % lockTaken);
public void TryEnter (int millisecondsTimeout, ref bool lockTaken);
member this.TryEnter : int * bool -> unit
Public Sub TryEnter (millisecondsTimeout As Integer, ByRef lockTaken As Boolean)

パラメーター

millisecondsTimeout
Int32 Int32 Int32 Int32

待機するミリ秒数。無制限に待機する場合は Infinite (-1)。The number of milliseconds to wait, or Infinite (-1) to wait indefinitely.

lockTaken
Boolean Boolean Boolean Boolean

ロックが取得された場合は true。それ以外の場合は false。True if the lock is acquired; otherwise, false. このメソッドを呼び出す前に、lockTaken を false に初期化する必要があります。lockTaken must be initialized to false prior to calling this method.

例外

millisecondsTimeout は無限のタイムアウトを表す -1 以外の負の数です。millisecondsTimeout is a negative number other than -1, which represents an infinite time-out.

lockTaken 引数は、TryEnter を呼び出す前に false に初期化する必要があります。The lockTaken argument must be initialized to false prior to calling TryEnter.

スレッドの所有権の追跡が有効で、現在のスレッドは既にこのロックを取得しています。Thread ownership tracking is enabled, and the current thread has already acquired this lock.

注釈

Enterは異なり、TryEnter はロックが使用可能になるのを待機している間、無制限にブロックされることはありません。Unlike Enter, TryEnter will not block indefinitely waiting for the lock to be available. ロックが使用可能になるか、が期限切れにmillisecondsTimeoutなるまで、ブロックされます。It will block until either the lock is available or until the millisecondsTimeout has expired.

こちらもご覧ください

TryEnter(TimeSpan, Boolean) TryEnter(TimeSpan, Boolean) TryEnter(TimeSpan, Boolean) TryEnter(TimeSpan, Boolean)

メソッド呼び出し内で例外が発生した場合でも、lockTaken を確実に確認して、ロックが取得されたかどうかを判断できるような信頼性の高い方法で、ロックの取得を試みます。Attempts to acquire the lock in a reliable manner, such that even if an exception occurs within the method call, lockTaken can be examined reliably to determine whether the lock was acquired.

public:
 void TryEnter(TimeSpan timeout, bool % lockTaken);
public void TryEnter (TimeSpan timeout, ref bool lockTaken);
member this.TryEnter : TimeSpan * bool -> unit
Public Sub TryEnter (timeout As TimeSpan, ByRef lockTaken As Boolean)

パラメーター

timeout
TimeSpan TimeSpan TimeSpan TimeSpan

待機するミリ秒数を表す TimeSpan。無制限に待機する場合は、-1 ミリ秒を表す TimeSpanA TimeSpan that represents the number of milliseconds to wait, or a TimeSpan that represents -1 milliseconds to wait indefinitely.

lockTaken
Boolean Boolean Boolean Boolean

ロックが取得された場合は true。それ以外の場合は false。True if the lock is acquired; otherwise, false. このメソッドを呼び出す前に、lockTaken を false に初期化する必要があります。lockTaken must be initialized to false prior to calling this method.

例外

timeout が -1 ミリ秒以外の負数です。-1 は無制限のタイムアウトを表します。または、タイムアウトが MaxValue ミリ秒を超えています。timeout is a negative number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than MaxValue milliseconds.

lockTaken 引数は、TryEnter を呼び出す前に false に初期化する必要があります。The lockTaken argument must be initialized to false prior to calling TryEnter.

スレッドの所有権の追跡が有効で、現在のスレッドは既にこのロックを取得しています。Thread ownership tracking is enabled, and the current thread has already acquired this lock.

注釈

Enterは異なり、TryEnter はロックが使用可能になるのを待機している間、無制限にブロックされることはありません。Unlike Enter, TryEnter will not block indefinitely waiting for the lock to be available. ロックが使用可能になるか、が期限切れにtimeoutなるまで、ブロックされます。It will block until either the lock is available or until the timeout has expired.

こちらもご覧ください

適用対象