Language

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

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

Javaドキュメント。

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

適用対象