ReentrantSemaphore.ExecuteAsync Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Sobrecargas
| Nome | Description |
|---|---|
| ExecuteAsync(Func<Task>, CancellationToken) |
Executa uma determinada operação dentro do semáforo. |
| ExecuteAsync<T>(Func<ValueTask<T>>, CancellationToken) |
Executa uma determinada operação dentro do semáforo. |
ExecuteAsync(Func<Task>, CancellationToken)
Executa uma determinada operação dentro do 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
O delegado a ser invocado quando o semáforo é inserido. Se um JoinableTaskContext foi fornecido ao construtor, esse delegado será executado no thread principal se ele for invocado no thread principal, caso contrário, ele será invocado no threadpool. Quando nenhum JoinableTaskContext for fornecido ao construtor, esse delegado será executado no contexto do chamador.
- cancellationToken
- CancellationToken
Um token de cancelamento.
Retornos
Uma tarefa que é concluída com o resultado de operation, após o semáforo ter sido encerrado.
Aplica-se a
ExecuteAsync<T>(Func<ValueTask<T>>, CancellationToken)
Executa uma determinada operação dentro do 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
O tipo de valor retornado pela operação.
Parâmetros
O delegado a ser invocado quando o semáforo é inserido. Se um JoinableTaskContext foi fornecido ao construtor, esse delegado será executado no thread principal se ele for invocado no thread principal, caso contrário, ele será invocado no threadpool. Quando nenhum JoinableTaskContext for fornecido ao construtor, esse delegado será executado no contexto do chamador.
- cancellationToken
- CancellationToken
Um token de cancelamento.
Retornos
Uma tarefa que é concluída com o resultado de operation, após o semáforo ter sido encerrado.
Exceções
Gerado quando a reentrada é detectada e não é permitida com base devido a NotAllowed ser fornecida ao construtor. Isso acontece quando o código que já contém o semáforo chama o código que tenta inserir novamente o semáforo. Quando o código chamado não é aguardado pelo chamador, pode ser apropriado suprimir essa detecção de reentração para o método que é chamado de forma de fogo e de esquecer. Para suprimir essa exceção para esse caso específico, preservando a proteção geral, use SuppressRelevance().