AsyncTask.ExecuteOnExecutor(IExecutor, Object[]) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定したパラメーターを使用してタスクを実行します。
[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 スレッドで呼び出す必要があります。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。