ReentrantSemaphore.ExecuteAsync Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
| Name | Beschreibung |
|---|---|
| ExecuteAsync(Func<Task>, CancellationToken) |
Führt einen bestimmten Vorgang innerhalb des Semaphors aus. |
| ExecuteAsync<T>(Func<ValueTask<T>>, CancellationToken) |
Führt einen bestimmten Vorgang innerhalb des Semaphors aus. |
ExecuteAsync(Func<Task>, CancellationToken)
Führt einen bestimmten Vorgang innerhalb des Semaphors aus.
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
Parameter
Der Delegat, der aufgerufen werden soll, nachdem das Semaphor eingegeben wurde. Wenn dem Konstruktor ein JoinableTaskContext Konstruktor bereitgestellt wurde, wird dieser Delegat im Hauptthread ausgeführt, wenn dies im Hauptthread aufgerufen wird, andernfalls wird er im Threadpool aufgerufen. Wenn der Konstruktor nicht JoinableTaskContext angegeben wird, wird dieser Delegat im Kontext des Aufrufers ausgeführt.
- cancellationToken
- CancellationToken
Ein Abbruchtoken.
Gibt zurück
Eine Aufgabe, die mit dem Ergebnis abgeschlossen operationwird, nachdem das Semaphor beendet wurde.
Gilt für:
ExecuteAsync<T>(Func<ValueTask<T>>, CancellationToken)
Führt einen bestimmten Vorgang innerhalb des Semaphors aus.
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)
Typparameter
- T
Der Vom Vorgang zurückgegebene Werttyp.
Parameter
Der Delegat, der aufgerufen werden soll, nachdem das Semaphor eingegeben wurde. Wenn dem Konstruktor ein JoinableTaskContext Konstruktor bereitgestellt wurde, wird dieser Delegat im Hauptthread ausgeführt, wenn dies im Hauptthread aufgerufen wird, andernfalls wird er im Threadpool aufgerufen. Wenn der Konstruktor nicht JoinableTaskContext angegeben wird, wird dieser Delegat im Kontext des Aufrufers ausgeführt.
- cancellationToken
- CancellationToken
Ein Abbruchtoken.
Gibt zurück
Eine Aufgabe, die mit dem Ergebnis abgeschlossen operationwird, nachdem das Semaphor beendet wurde.
Ausnahmen
Wird ausgelöst, wenn reentrancy erkannt wird und aufgrund der Bereitstellung des Konstruktors nicht zulässig NotAllowed ist. Dies geschieht, wenn Code, der bereits den Semaphor enthält, Code aufruft, der erneut versucht, das Semaphor einzugeben. Wenn der aufgerufene Code vom Aufrufer nicht erwartet wird, kann es sinnvoll sein, diese Reentranzerkennung für die Methode zu unterdrücken, die in einer Feuer-und-Vergessen-Weise aufgerufen wird. Verwenden Sie die Verwendung SuppressRelevance(), um diese Ausnahme für diesen spezifischen Fall zu unterdrücken, während der gesamter Schutz erhalten bleibt.