英語で読む

次の方法で共有


SpinLock.TryEnter メソッド

定義

メソッド呼び出し内で例外が発生した場合でも、lockTaken を確実に確認して、ロックが取得されたかどうかを判断できるような信頼性の高い方法で、ロックの取得を試みます。

オーバーロード

TryEnter(Boolean)

メソッド呼び出し内で例外が発生した場合でも、lockTaken を確実に確認して、ロックが取得されたかどうかを判断できるような信頼性の高い方法で、ロックの取得を試みます。

TryEnter(Int32, Boolean)

メソッド呼び出し内で例外が発生した場合でも、lockTaken を確実に確認して、ロックが取得されたかどうかを判断できるような信頼性の高い方法で、ロックの取得を試みます。

TryEnter(TimeSpan, Boolean)

メソッド呼び出し内で例外が発生した場合でも、lockTaken を確実に確認して、ロックが取得されたかどうかを判断できるような信頼性の高い方法で、ロックの取得を試みます。

TryEnter(Boolean)

ソース:
SpinLock.cs
ソース:
SpinLock.cs
ソース:
SpinLock.cs

メソッド呼び出し内で例外が発生した場合でも、lockTaken を確実に確認して、ロックが取得されたかどうかを判断できるような信頼性の高い方法で、ロックの取得を試みます。

C#
public void TryEnter(ref bool lockTaken);

パラメーター

lockTaken
Boolean

ロックが取得された場合は true。それ以外の場合は false。 このメソッドを呼び出す前に、lockTaken を false に初期化する必要があります。

例外

lockTaken 引数は、TryEnter を呼び出す前に false に初期化する必要があります。

スレッドの所有権の追跡が有効で、現在のスレッドは既にこのロックを取得しています。

注釈

とは異なり Enter、TryEnter はロックが使用可能になるのを待つのをブロックしません。 TryEnter が呼び出されたときにロックが使用できない場合は、それ以上回転することなくすぐに戻ります。

こちらもご覧ください

適用対象

.NET 10 およびその他のバージョン
製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

TryEnter(Int32, Boolean)

ソース:
SpinLock.cs
ソース:
SpinLock.cs
ソース:
SpinLock.cs

メソッド呼び出し内で例外が発生した場合でも、lockTaken を確実に確認して、ロックが取得されたかどうかを判断できるような信頼性の高い方法で、ロックの取得を試みます。

C#
public void TryEnter(int millisecondsTimeout, ref bool lockTaken);

パラメーター

millisecondsTimeout
Int32

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

lockTaken
Boolean

ロックが取得された場合は true。それ以外の場合は false。 このメソッドを呼び出す前に、lockTaken を false に初期化する必要があります。

例外

millisecondsTimeout は無限のタイムアウトを表す -1 以外の負の数です。

lockTaken 引数は、TryEnter を呼び出す前に false に初期化する必要があります。

スレッドの所有権の追跡が有効で、現在のスレッドは既にこのロックを取得しています。

注釈

とは異なり Enter、TryEnter はロックが使用可能になるのを無期限に待機することをブロックしません。 ロックが使用可能になるまで、または が期限切れになるまで millisecondsTimeout ブロックされます。

こちらもご覧ください

適用対象

.NET 10 およびその他のバージョン
製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

TryEnter(TimeSpan, Boolean)

ソース:
SpinLock.cs
ソース:
SpinLock.cs
ソース:
SpinLock.cs

メソッド呼び出し内で例外が発生した場合でも、lockTaken を確実に確認して、ロックが取得されたかどうかを判断できるような信頼性の高い方法で、ロックの取得を試みます。

C#
public void TryEnter(TimeSpan timeout, ref bool lockTaken);

パラメーター

timeout
TimeSpan

待機するミリ秒数を表す TimeSpan。無制限に待機する場合は、-1 ミリ秒を表す TimeSpan

lockTaken
Boolean

ロックが取得された場合は true。それ以外の場合は false。 このメソッドを呼び出す前に、lockTaken を false に初期化する必要があります。

例外

timeout は-1 ミリ秒以外の負の数で、無限タイムアウトを表します。タイムアウトが Int32.MaxValue ミリ秒を超えています。

lockTaken 引数は、TryEnter を呼び出す前に false に初期化する必要があります。

スレッドの所有権の追跡が有効で、現在のスレッドは既にこのロックを取得しています。

注釈

とは異なり Enter、TryEnter はロックが使用可能になるのを無期限に待機することをブロックしません。 ロックが使用可能になるまで、または が期限切れになるまで timeout ブロックされます。

こちらもご覧ください

適用対象

.NET 10 およびその他のバージョン
製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0