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>警告:</em> スレッド プールから複数のタスクを並列に実行することを許可することは、通常<<>>、操作の順序が定義されていないため、必要なタスクではありません。 たとえば、これらのタスクを使用して共通の状態を変更する場合 (ボタンクリックによるファイルの書き込みなど)、変更の順序は保証されません。 慎重な作業を行わないと、新しいバージョンのデータが古いバージョンによって過剰に書き込まれ、データの損失と安定性の問題があいまいになる可能性があります。 このような変更は、シリアルで最もよく実行されます。このような作業がプラットフォームのバージョンに関係なくシリアル化されるようにするには、 で #SERIAL_EXECUTOR
この関数を使用できます。
このメソッドは UI スレッドで呼び出す必要があります。
の android.os.AsyncTask.executeOnExecutor(java.util.concurrent.Executor, Params...)
Java ドキュメント。
このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。