ReentrantSemaphore.ExecuteAsync Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
| Nome | Descrizione |
|---|---|
| ExecuteAsync(Func<Task>, CancellationToken) |
Esegue una determinata operazione all'interno del semaforo. |
| ExecuteAsync<T>(Func<ValueTask<T>>, CancellationToken) |
Esegue una determinata operazione all'interno del semaforo. |
ExecuteAsync(Func<Task>, CancellationToken)
Esegue una determinata operazione all'interno del semaforo.
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
Parametri
Delegato da richiamare dopo l'immissione del semaforo. Se è stato fornito un oggetto JoinableTaskContext al costruttore, questo delegato verrà eseguito sul thread principale se questo viene richiamato sul thread principale, altrimenti verrà richiamato nel pool di thread. Quando non viene fornito alcun valore JoinableTaskContext al costruttore, questo delegato verrà eseguito nel contesto del chiamante.
- cancellationToken
- CancellationToken
Un token di annullamento.
Valori restituiti
Attività che viene completata con il risultato di operation, dopo l'uscita del semaforo.
Si applica a
ExecuteAsync<T>(Func<ValueTask<T>>, CancellationToken)
Esegue una determinata operazione all'interno del semaforo.
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)
Parametri di tipo
- T
Tipo di valore restituito dall'operazione.
Parametri
Delegato da richiamare dopo l'immissione del semaforo. Se è stato fornito un oggetto JoinableTaskContext al costruttore, questo delegato verrà eseguito sul thread principale se questo viene richiamato sul thread principale, altrimenti verrà richiamato nel pool di thread. Quando non viene fornito alcun valore JoinableTaskContext al costruttore, questo delegato verrà eseguito nel contesto del chiamante.
- cancellationToken
- CancellationToken
Un token di annullamento.
Valori restituiti
Attività che viene completata con il risultato di operation, dopo l'uscita del semaforo.
Eccezioni
Generata quando viene rilevata la reentrancy e non è consentita in base a NotAllowed causa dell'inserimento al costruttore. Ciò si verifica quando il codice che contiene già il semaforo chiama il codice che tenta di immettere di nuovo il semaforo. Quando il codice chiamato non è atteso dal chiamante, può essere opportuno eliminare questo rilevamento della reentrancy per il metodo chiamato in modo fire-and-forget. Per eliminare questa eccezione per quel caso specifico mantenendo la protezione complessiva, usare SuppressRelevance().