ReentrantSemaphore.ExecuteAsync Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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
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().