SemaphoreSlim.WaitAsync 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
以非同步方式等候進入 SemaphoreSlim。
多載
WaitAsync(Int32, CancellationToken) |
以非同步方式等候進入 SemaphoreSlim,並使用 32 位元帶正負號的整數來測量時間間隔,同時觀察 CancellationToken。 |
WaitAsync() |
以非同步方式等候進入 SemaphoreSlim。 |
WaitAsync(Int32) |
以非同步方式等候進入 SemaphoreSlim,並使用 32 位元帶正負號的整數來測量時間間隔。 |
WaitAsync(CancellationToken) |
以非同步方式等候進入 SemaphoreSlim,同時觀察 CancellationToken。 |
WaitAsync(TimeSpan) |
以非同步方式等候進入 SemaphoreSlim,並使用 TimeSpan 來測量時間間隔。 |
WaitAsync(TimeSpan, CancellationToken) |
以非同步方式等候進入 SemaphoreSlim,並使用 TimeSpan 來測量時間間隔,同時觀察 CancellationToken。 |
WaitAsync(Int32, CancellationToken)
以非同步方式等候進入 SemaphoreSlim,並使用 32 位元帶正負號的整數來測量時間間隔,同時觀察 CancellationToken。
public:
System::Threading::Tasks::Task<bool> ^ WaitAsync(int millisecondsTimeout, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task<bool> WaitAsync (int millisecondsTimeout, System.Threading.CancellationToken cancellationToken);
member this.WaitAsync : int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<bool>
Public Function WaitAsync (millisecondsTimeout As Integer, cancellationToken As CancellationToken) As Task(Of Boolean)
參數
- cancellationToken
- CancellationToken
要觀察的 CancellationToken。
傳回
如果目前的執行緒成功進入 SemaphoreSlim,則工作會完成且結果為 true
,否則結果為 false
。
例外狀況
目前的執行個體已經過處置。
cancellationToken
已取消。
備註
如果逾時設定為 -1 毫秒,則方法會無限期等候。
如果逾時設定為零毫秒,則方法不會封鎖。 它會測試等候控制碼的狀態,並立即傳回。
這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用例外狀況,例如 ArgumentException 仍會同步擲回。 如需預存例外狀況,請參閱 擲回的 Wait(Int32) 例外狀況。
適用於
WaitAsync()
以非同步方式等候進入 SemaphoreSlim。
public:
System::Threading::Tasks::Task ^ WaitAsync();
public System.Threading.Tasks.Task WaitAsync ();
member this.WaitAsync : unit -> System.Threading.Tasks.Task
Public Function WaitAsync () As Task
傳回
將會在號誌 (Semaphore) 輸入後完成的工作。
例外狀況
備註
這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用例外狀況,例如 ArgumentException 仍會同步擲回。 如需預存例外狀況,請參閱 擲回的 Wait() 例外狀況。
適用於
WaitAsync(Int32)
以非同步方式等候進入 SemaphoreSlim,並使用 32 位元帶正負號的整數來測量時間間隔。
public:
System::Threading::Tasks::Task<bool> ^ WaitAsync(int millisecondsTimeout);
public System.Threading.Tasks.Task<bool> WaitAsync (int millisecondsTimeout);
member this.WaitAsync : int -> System.Threading.Tasks.Task<bool>
Public Function WaitAsync (millisecondsTimeout As Integer) As Task(Of Boolean)
參數
傳回
如果目前的執行緒成功進入 SemaphoreSlim,則工作會完成且結果為 true
,否則結果為 false
。
例外狀況
目前的執行個體已經過處置。
備註
如果逾時設定為 -1 毫秒,則方法會無限期等候。
如果逾時設定為零毫秒,則方法不會封鎖。 它會測試等候控制碼的狀態,並立即傳回。
這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用例外狀況,例如 ArgumentException 仍會同步擲回。 如需預存例外狀況,請參閱 擲回的 Wait(Int32) 例外狀況。
適用於
WaitAsync(CancellationToken)
以非同步方式等候進入 SemaphoreSlim,同時觀察 CancellationToken。
public:
System::Threading::Tasks::Task ^ WaitAsync(System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task WaitAsync (System.Threading.CancellationToken cancellationToken);
member this.WaitAsync : System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Function WaitAsync (cancellationToken As CancellationToken) As Task
參數
- cancellationToken
- CancellationToken
要觀察的 CancellationToken 語彙基元。
傳回
將會在號誌 (Semaphore) 輸入後完成的工作。
例外狀況
目前的執行個體已經過處置。
cancellationToken
已取消。
備註
這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用例外狀況,例如 ArgumentException 仍會同步擲回。 如需預存例外狀況,請參閱 擲回的 Wait() 例外狀況。
適用於
WaitAsync(TimeSpan)
以非同步方式等候進入 SemaphoreSlim,並使用 TimeSpan 來測量時間間隔。
public:
System::Threading::Tasks::Task<bool> ^ WaitAsync(TimeSpan timeout);
public System.Threading.Tasks.Task<bool> WaitAsync (TimeSpan timeout);
member this.WaitAsync : TimeSpan -> System.Threading.Tasks.Task<bool>
Public Function WaitAsync (timeout As TimeSpan) As Task(Of Boolean)
參數
傳回
如果目前的執行緒成功進入 SemaphoreSlim,則工作會完成且結果為 true
,否則結果為 false
。
例外狀況
目前的執行個體已經過處置。
備註
如果逾時設定為 -1 毫秒,則方法會無限期等候。
如果逾時設定為零毫秒,則方法不會封鎖。 它會測試等候控制碼的狀態,並立即傳回。
這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用例外狀況,例如 ArgumentException 仍會同步擲回。 如需預存例外狀況,請參閱 擲回的 Wait(TimeSpan) 例外狀況。
適用於
WaitAsync(TimeSpan, CancellationToken)
以非同步方式等候進入 SemaphoreSlim,並使用 TimeSpan 來測量時間間隔,同時觀察 CancellationToken。
public:
System::Threading::Tasks::Task<bool> ^ WaitAsync(TimeSpan timeout, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task<bool> WaitAsync (TimeSpan timeout, System.Threading.CancellationToken cancellationToken);
member this.WaitAsync : TimeSpan * System.Threading.CancellationToken -> System.Threading.Tasks.Task<bool>
Public Function WaitAsync (timeout As TimeSpan, cancellationToken As CancellationToken) As Task(Of Boolean)
參數
- cancellationToken
- CancellationToken
要觀察的 CancellationToken 語彙基元。
傳回
如果目前的執行緒成功進入 SemaphoreSlim,則工作會完成且結果為 true
,否則結果為 false
。
例外狀況
cancellationToken
已取消。
備註
如果逾時設定為 -1 毫秒,則方法會無限期等候。
如果逾時設定為零毫秒,則方法不會封鎖。 它會測試等候控制碼的狀態,並立即傳回。
這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用例外狀況,例如 ArgumentException 仍會同步擲回。 如需預存例外狀況,請參閱 擲回的 Wait(TimeSpan) 例外狀況。