Język

ReentrantSemaphore.ExecuteAsync Metoda

Definicja

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

operation
Func<Task>

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

operation
Func<ValueTask<T>>

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().

Dotyczy