SpinLock.TryEnter メソッド
この記事の内容
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
メソッド呼び出し内で例外が発生した場合でも、lockTaken
を確実に確認して、ロックが取得されたかどうかを判断できるような信頼性の高い方法で、ロックの取得を試みます。
TryEnter(Boolean) |
メソッド呼び出し内で例外が発生した場合でも、 |
TryEnter(Int32, Boolean) |
メソッド呼び出し内で例外が発生した場合でも、 |
TryEnter(TimeSpan, Boolean) |
メソッド呼び出し内で例外が発生した場合でも、 |
- ソース:
- SpinLock.cs
- ソース:
- SpinLock.cs
- ソース:
- SpinLock.cs
メソッド呼び出し内で例外が発生した場合でも、lockTaken
を確実に確認して、ロックが取得されたかどうかを判断できるような信頼性の高い方法で、ロックの取得を試みます。
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
ロックが取得された場合は 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 |
- ソース:
- SpinLock.cs
- ソース:
- SpinLock.cs
- ソース:
- SpinLock.cs
メソッド呼び出し内で例外が発生した場合でも、lockTaken
を確実に確認して、ロックが取得されたかどうかを判断できるような信頼性の高い方法で、ロックの取得を試みます。
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)
パラメーター
- 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 |
- ソース:
- SpinLock.cs
- ソース:
- SpinLock.cs
- ソース:
- SpinLock.cs
メソッド呼び出し内で例外が発生した場合でも、lockTaken
を確実に確認して、ロックが取得されたかどうかを判断できるような信頼性の高い方法で、ロックの取得を試みます。
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)
パラメーター
- 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 |
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。