Lenguaje

ReentrantSemaphore.ExecuteAsync Método

Definición

Sobrecargas

Nombre Description
ExecuteAsync(Func<Task>, CancellationToken)

Ejecuta una operación determinada dentro del semáforo.

ExecuteAsync<T>(Func<ValueTask<T>>, CancellationToken)

Ejecuta una operación determinada dentro del semáforo.

ExecuteAsync(Func<Task>, CancellationToken)

Ejecuta una operación determinada dentro del semáforo.

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

Parámetros

operation
Func<Task>

Delegado que se va a invocar una vez que se escribe el semáforo. Si se proporcionó un JoinableTaskContext elemento al constructor, este delegado se ejecutará en el subproceso principal si se invoca en el subproceso principal; de lo contrario, se invocará en el grupo de subprocesos. Cuando no se proporciona ningún JoinableTaskContext elemento al constructor, este delegado se ejecutará en el contexto del autor de la llamada.

cancellationToken
CancellationToken

Un token de cancelación.

Devoluciones

Tarea que se completa con el resultado de , después de operationsalir del semáforo.

Se aplica a

ExecuteAsync<T>(Func<ValueTask<T>>, CancellationToken)

Ejecuta una operación determinada dentro del semáforo.

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)

Parámetros de tipo

T

Tipo de valor devuelto por la operación.

Parámetros

operation
Func<ValueTask<T>>

Delegado que se va a invocar una vez que se escribe el semáforo. Si se proporcionó un JoinableTaskContext elemento al constructor, este delegado se ejecutará en el subproceso principal si se invoca en el subproceso principal; de lo contrario, se invocará en el grupo de subprocesos. Cuando no se proporciona ningún JoinableTaskContext elemento al constructor, este delegado se ejecutará en el contexto del autor de la llamada.

cancellationToken
CancellationToken

Un token de cancelación.

Devoluciones

Tarea que se completa con el resultado de , después de operationsalir del semáforo.

Excepciones

Se produce cuando se detecta la reentrada y no se permite en función de que NotAllowed se proporcione al constructor. Esto sucede cuando el código que ya contiene el semáforo llama al código que intenta volver a escribir el semáforo. Cuando el autor de la llamada no espera el código llamado, puede ser adecuado suprimir esta detección de reentrada para el método al que se llama de forma de fuego y olvido. Para suprimir esta excepción para ese caso específico a la vez que se conserva la protección general, use SuppressRelevance().

Se aplica a