Idioma

ReentrantSemaphore.ExecuteAsync Método

Definição

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

operation
Func<Task>

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

operation
Func<ValueTask<T>>

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

Aplica-se a