Sprache

AsyncTask.ExecuteOnExecutor(IExecutor, Object[]) Methode

Definition

Führt die Aufgabe mit den angegebenen Parametern aus.

[Android.Runtime.Register("executeOnExecutor", "(Ljava/util/concurrent/Executor;[Ljava/lang/Object;)Landroid/os/AsyncTask;", "")]
public Android.OS.AsyncTask? ExecuteOnExecutor(Java.Util.Concurrent.IExecutor? exec, params Java.Lang.Object[]? params);
[<Android.Runtime.Register("executeOnExecutor", "(Ljava/util/concurrent/Executor;[Ljava/lang/Object;)Landroid/os/AsyncTask;", "")>]
member this.ExecuteOnExecutor : Java.Util.Concurrent.IExecutor * Java.Lang.Object[] -> Android.OS.AsyncTask

Parameter

exec
IExecutor

Der zu verwendende Executor. #THREAD_POOL_EXECUTOR ist als praktischer prozessweiter Threadpool für Aufgaben verfügbar, die lose gekoppelt sind.

params
Object[]

Die Parameter des Vorgangs.

Gibt zurück

Diese Instanz von AsyncTask.

Attribute

Hinweise

Führt die Aufgabe mit den angegebenen Parametern aus. Die Aufgabe gibt sich selbst zurück (dies), damit der Aufrufer einen Verweis darauf behalten kann.

Diese Methode wird in der Regel verwendet #THREAD_POOL_EXECUTOR , um mehrere Aufgaben parallel auf einem Pool von Threads auszuführen, die von AsyncTask verwaltet werden. Sie können jedoch auch Eigenes Executor für benutzerdefiniertes Verhalten verwenden.

<em>Warning:</em> Zulassen, dass mehrere Aufgaben parallel aus einem Threadpool ausgeführt werden können, ist in der Regel <>nicht</em> das, was man möchte, da die Reihenfolge ihres Vorgangs nicht definiert ist. Wenn diese Aufgaben beispielsweise verwendet werden, um einen gemeinsamen Zustand zu ändern (z. B. das Schreiben einer Datei aufgrund eines Schaltflächenklicks), gibt es keine Garantien für die Reihenfolge der Änderungen. Ohne sorgfältige Arbeit ist es in seltenen Fällen möglich, dass die neuere Version der Daten von einem älteren geschrieben wird, was zu verdeckten Datenverlust- und Stabilitätsproblemen führt. Solche Änderungen werden am besten in seriell ausgeführt; um sicherzustellen, dass diese Arbeit unabhängig von der Plattformversion serialisiert wird, können Sie diese Funktion mit #SERIAL_EXECUTOR.

Diese Methode muss im UI-Thread aufgerufen werden.

Java Dokumentation für android.os.AsyncTask.executeOnExecutor(java.util.concurrent.Executor, Params...).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: