SemaphoreSlim.Wait メソッド

定義

SemaphoreSlimに入るまで、現在のスレッドをブロックします。

オーバーロード

名前 説明
Wait(TimeSpan, CancellationToken)

SemaphoreSlimを監視しながら、タイムアウトを指定するTimeSpanを使用して、CancellationTokenに入ることができるまで、現在のスレッドをブロックします。

Wait(Int32, CancellationToken)

SemaphoreSlimを監視しながら、タイムアウトを指定する 32 ビット符号付き整数を使用して、CancellationTokenに入ることができるまで、現在のスレッドをブロックします。

Wait(TimeSpan)

SemaphoreSlimを使用してタイムアウトを指定して、TimeSpanに入ることができるまで、現在のスレッドをブロックします。

Wait(Int32)

タイムアウトを指定する 32 ビット符号付き整数を使用して、 SemaphoreSlimに入ることができるまで、現在のスレッドをブロックします。

Wait()

SemaphoreSlimに入るまで、現在のスレッドをブロックします。

Wait(CancellationToken)

SemaphoreSlimを観察しながら、CancellationTokenに入ることができるまで、現在のスレッドをブロックします。

Wait(TimeSpan, CancellationToken)

SemaphoreSlimを監視しながら、タイムアウトを指定するTimeSpanを使用して、CancellationTokenに入ることができるまで、現在のスレッドをブロックします。

public:
 bool Wait(TimeSpan timeout, System::Threading::CancellationToken cancellationToken);
public bool Wait(TimeSpan timeout, System.Threading.CancellationToken cancellationToken);
member this.Wait : TimeSpan * System.Threading.CancellationToken -> bool
Public Function Wait (timeout As TimeSpan, cancellationToken As CancellationToken) As Boolean

パラメーター

timeout
TimeSpan

待機するミリ秒数を表す TimeSpan 、無期限に待機する -1 ミリ秒を表す TimeSpan 、または待機ハンドルをテストしてすぐに返す 0 ミリ秒を表す TimeSpan

cancellationToken
CancellationToken

観察する CancellationToken

返品

true 現在のスレッドが正常に SemaphoreSlimに入った場合は a0/>。それ以外の場合は false

例外

cancellationToken が取り消されました。

timeout は-1 以外の負の数で、これは無限タイムアウトを表します。

-または-

.NET 9 以前のバージョンでは、 timeoutInt32.MaxValue より大きくなります。

semaphoreSlim インスタンスが破棄されました。

-または-

CancellationTokenSourceを作成したcancellationTokenは既に破棄されています。

注釈

タイムアウトが -1 ミリ秒に設定されている場合、メソッドは無期限に待機します。

タイムアウトが 0 ミリ秒に設定されている場合、メソッドはブロックしません。 待機ハンドルの状態をテストし、すぐに返します。

スレッドまたはタスクがセマフォに入ることができる場合は、 CurrentCount プロパティを 1 つずつデクリメントします。

cancellationTokenが取り消された場合、またはWait(TimeSpan, CancellationToken)の呼び出し時にスレッドまたはタスクがブロックされ、millisecondsTimeoutで指定されたタイムアウト間隔が経過した場合:

  • スレッドまたはタスクがセマフォに入りません。
  • CurrentCount プロパティはデクリメントされません。

cancellationTokenが取り消された場合、メソッドはOperationCanceledException例外をスローします。

こちらもご覧ください

適用対象

Wait(Int32, CancellationToken)

SemaphoreSlimを監視しながら、タイムアウトを指定する 32 ビット符号付き整数を使用して、CancellationTokenに入ることができるまで、現在のスレッドをブロックします。

public:
 bool Wait(int millisecondsTimeout, System::Threading::CancellationToken cancellationToken);
public bool Wait(int millisecondsTimeout, System.Threading.CancellationToken cancellationToken);
member this.Wait : int * System.Threading.CancellationToken -> bool
Public Function Wait (millisecondsTimeout As Integer, cancellationToken As CancellationToken) As Boolean

パラメーター

millisecondsTimeout
Int32

待機するミリ秒、無期限に待機する Infinite (-1)、待機ハンドルの状態をテストして直ちに返す場合は 0 です。

cancellationToken
CancellationToken

観察する CancellationToken

返品

true 現在のスレッドが正常に SemaphoreSlimに入った場合は a0/>。それ以外の場合は false

例外

cancellationToken が取り消されました。

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

-または-

millisecondsTimeoutInt32.MaxValue より大きい。

SemaphoreSlim インスタンスが破棄されたか、CancellationTokenSourceを作成したcancellationTokenが破棄されました。

注釈

タイムアウトが -1 ミリ秒に設定されている場合、メソッドは無期限に待機します。

タイムアウトが 0 ミリ秒に設定されている場合、メソッドはブロックしません。 待機ハンドルの状態をテストし、すぐに返します。

スレッドまたはタスクがセマフォに入ることができる場合は、 CurrentCount プロパティを 1 つずつデクリメントします。

cancellationTokenが取り消された場合、またはWait(Int32, CancellationToken)の呼び出し時にスレッドまたはタスクがブロックされ、millisecondsTimeoutで指定されたタイムアウト間隔が経過した場合:

  • スレッドまたはタスクがセマフォに入りません。
  • CurrentCount プロパティはデクリメントされません。

cancellationTokenが取り消された場合、メソッドはOperationCanceledException例外をスローします。

こちらもご覧ください

適用対象

Wait(TimeSpan)

SemaphoreSlimを使用してタイムアウトを指定して、TimeSpanに入ることができるまで、現在のスレッドをブロックします。

public:
 bool Wait(TimeSpan timeout);
public bool Wait(TimeSpan timeout);
member this.Wait : TimeSpan -> bool
Public Function Wait (timeout As TimeSpan) As Boolean

パラメーター

timeout
TimeSpan

待機するミリ秒数を表す TimeSpan 、無期限に待機する -1 ミリ秒を表す TimeSpan 、または待機ハンドルをテストしてすぐに返す 0 ミリ秒を表す TimeSpan

返品

true 現在のスレッドが正常に SemaphoreSlimに入った場合は a0/>。それ以外の場合は false

例外

timeout は-1 以外の負の数で、これは無限タイムアウトを表します。

-または-

.NET 9 以前のバージョンでは、 timeoutInt32.MaxValue より大きくなります。

semaphoreSlim インスタンスが破棄されました。

注釈

タイムアウトが -1 ミリ秒に設定されている場合、メソッドは無期限に待機します。

タイムアウトが 0 ミリ秒に設定されている場合、メソッドはブロックしません。 待機ハンドルの状態をテストし、すぐに返します。

スレッドまたはタスクがセマフォに入ることができる場合は、 CurrentCount プロパティを 1 つずつデクリメントします。

Wait(TimeSpan)の呼び出し時にスレッドまたはタスクがブロックされ、millisecondsTimeoutで指定されたタイムアウト間隔が期限切れになった場合:

  • スレッドまたはタスクがセマフォに入りません。
  • CurrentCount プロパティはデクリメントされません。

こちらもご覧ください

適用対象

Wait(Int32)

タイムアウトを指定する 32 ビット符号付き整数を使用して、 SemaphoreSlimに入ることができるまで、現在のスレッドをブロックします。

public:
 bool Wait(int millisecondsTimeout);
public bool Wait(int millisecondsTimeout);
member this.Wait : int -> bool
Public Function Wait (millisecondsTimeout As Integer) As Boolean

パラメーター

millisecondsTimeout
Int32

待機するミリ秒、無期限に待機する Infinite (-1)、待機ハンドルの状態をテストして直ちに返す場合は 0 です。

返品

true 現在のスレッドが正常に SemaphoreSlimに入った場合は a0/>。それ以外の場合は false

例外

millisecondsTimeout は -1 以外の負の数で、無限タイムアウトを表します。タイムアウトが Int32.MaxValue より大きい場合。

SemaphoreSlimが破棄されました。

注釈

タイムアウトが -1 ミリ秒に設定されている場合、メソッドは無期限に待機します。

タイムアウトが 0 ミリ秒に設定されている場合、メソッドはブロックしません。 待機ハンドルの状態をテストし、すぐに返します。

スレッドまたはタスクがセマフォに入ることができる場合は、 CurrentCount プロパティを 1 つずつデクリメントします。

Wait(Int32)の呼び出し時にスレッドまたはタスクがブロックされ、millisecondsTimeoutで指定されたタイムアウト間隔が期限切れになった場合:

  • スレッドまたはタスクがセマフォに入りません。
  • CurrentCount プロパティはデクリメントされません。

こちらもご覧ください

適用対象

Wait()

SemaphoreSlimに入るまで、現在のスレッドをブロックします。

public:
 void Wait();
public void Wait();
member this.Wait : unit -> unit
Public Sub Wait ()

例外

現在のインスタンスは既に破棄されています。

注釈

スレッドまたはタスクがセマフォに入ることができる場合は、 CurrentCount プロパティを 1 つずつデクリメントします。

こちらもご覧ください

適用対象

Wait(CancellationToken)

SemaphoreSlimを観察しながら、CancellationTokenに入ることができるまで、現在のスレッドをブロックします。

public:
 void Wait(System::Threading::CancellationToken cancellationToken);
public void Wait(System.Threading.CancellationToken cancellationToken);
member this.Wait : System.Threading.CancellationToken -> unit
Public Sub Wait (cancellationToken As CancellationToken)

パラメーター

cancellationToken
CancellationToken

観察する CancellationToken トークン。

例外

cancellationToken が取り消されました。

現在のインスタンスは既に破棄されています。

-または-

CancellationTokenSourceを作成したcancellationTokenは既に破棄されています。

注釈

スレッドまたはタスクがセマフォに入ることができる場合は、 CurrentCount プロパティを 1 つずつデクリメントします。

cancellationTokenが取り消された場合、スレッドまたはタスクはセマフォに入りません。また、CurrentCount プロパティはデクリメントされません。 代わりに、メソッドは OperationCanceledException 例外をスローします。

こちらもご覧ください

適用対象