ReentrantSemaphore.ExecuteAsync Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Przeciążenia
| Nazwa | Opis |
|---|---|
| ExecuteAsync(Func<Task>, CancellationToken) |
Wykonuje daną operację w semaforze. |
| ExecuteAsync<T>(Func<ValueTask<T>>, CancellationToken) |
Wykonuje daną operację w semaforze. |
ExecuteAsync(Func<Task>, CancellationToken)
Wykonuje daną operację w semaforze.
public abstract System.Threading.Tasks.Task ExecuteAsync(Func<System.Threading.Tasks.Task> operation, System.Threading.CancellationToken cancellationToken = default);
abstract member ExecuteAsync : Func<System.Threading.Tasks.Task> * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public MustOverride Function ExecuteAsync (operation As Func(Of Task), Optional cancellationToken As CancellationToken = Nothing) As Task
Parametry
Delegat do wywołania po wprowadzeniu semafora. JoinableTaskContext Jeśli element został dostarczony do konstruktora, ten delegat zostanie wykonany w głównym wątku, jeśli jest wywoływany w głównym wątku, w przeciwnym razie zostanie wywołany w puli wątków. Jeśli nie JoinableTaskContext zostanie dostarczony do konstruktora, ten delegat zostanie wykonany w kontekście obiektu wywołującego.
- cancellationToken
- CancellationToken
Token anulowania.
Zwraca
Zadanie, które kończy się wynikiem operationpolecenia , po zakończeniu semafora.
Dotyczy
ExecuteAsync<T>(Func<ValueTask<T>>, CancellationToken)
Wykonuje daną operację w semaforze.
public abstract System.Threading.Tasks.ValueTask<T> ExecuteAsync<T>(Func<System.Threading.Tasks.ValueTask<T>> operation, System.Threading.CancellationToken cancellationToken = default);
abstract member ExecuteAsync : Func<System.Threading.Tasks.ValueTask<'T>> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<'T>
Public MustOverride Function ExecuteAsync(Of T) (operation As Func(Of ValueTask(Of T)), Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of T)
Parametry typu
- T
Typ wartości zwracanej przez operację.
Parametry
Delegat do wywołania po wprowadzeniu semafora. JoinableTaskContext Jeśli element został dostarczony do konstruktora, ten delegat zostanie wykonany w głównym wątku, jeśli jest wywoływany w głównym wątku, w przeciwnym razie zostanie wywołany w puli wątków. Jeśli nie JoinableTaskContext zostanie dostarczony do konstruktora, ten delegat zostanie wykonany w kontekście obiektu wywołującego.
- cancellationToken
- CancellationToken
Token anulowania.
Zwraca
Zadanie, które kończy się wynikiem operationpolecenia , po zakończeniu semafora.
Wyjątki
Zgłaszany podczas wykrywania ponownego uruchamiania i nie jest dozwolony na podstawie z powodu NotAllowed podania konstruktora. Dzieje się tak, gdy kod, który już zawiera semafor wywołuje kod, który próbuje ponownie wprowadzić semafor. Jeśli wywołany kod nie jest oczekiwany przez obiekt wywołujący, może być odpowiednie pominięcie tego wykrywania ponownego wywołania dla metody wywoływanej w sposób fire-and-forget. Aby pominąć ten wyjątek dla tego konkretnego przypadku przy zachowaniu ogólnej ochrony, użyj polecenia SuppressRelevance().