AsyncTask.ExecuteOnExecutor(IExecutor, Object[]) メソッド

定義

指定したパラメーターを使用してタスクを実行します。

[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

パラメーター

exec
IExecutor

使用する Executor。 #THREAD_POOL_EXECUTOR は、疎結合されたタスクに便利なプロセス全体のスレッド プールとして使用できます。

params
Object[]

タスクのパラメーター。

戻り値

AsyncTask のこのインスタンス。

属性

注釈

指定したパラメーターを使用してタスクを実行します。 呼び出し元が参照を保持できるように、タスクはそれ自体 (this) を返します。

このメソッドは通常、 と共 #THREAD_POOL_EXECUTOR に使用され、AsyncTask によって管理されるスレッドのプールで複数のタスクを並列に実行できますが、独自のタスクを Executor カスタム動作に使用することもできます。

<em>警告:</em> スレッド プールから複数のタスクを並列に実行することを許可することは、通常<<>>、操作の順序が定義されていないため、必要なタスクではありません。 たとえば、これらのタスクを使用して共通の状態を変更する場合 (ボタンクリックによるファイルの書き込みなど)、変更の順序は保証されません。 慎重な作業を行わないと、新しいバージョンのデータが古いバージョンによって過剰に書き込まれ、データの損失と安定性の問題があいまいになる可能性があります。 このような変更は、シリアルで最もよく実行されます。このような作業がプラットフォームのバージョンに関係なくシリアル化されるようにするには、 で #SERIAL_EXECUTORこの関数を使用できます。

このメソッドは UI スレッドで呼び出す必要があります。

android.os.AsyncTask.executeOnExecutor(java.util.concurrent.Executor, Params...)Java ドキュメント。

このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。

適用対象