Idioma

AsyncTask.ExecuteOnExecutor(IExecutor, Object[]) Método

Definição

Executa a tarefa com os parâmetros especificados.

[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

Parâmetros

exec
IExecutor

O executor a ser usado. #THREAD_POOL_EXECUTOR está disponível como um pool de threads conveniente em todo o processo para tarefas que são acopladas de forma flexível.

params
Object[]

Os parâmetros da tarefa.

Retornos

Esta instância de AsyncTask.

Atributos

Comentários

Executa a tarefa com os parâmetros especificados. A tarefa retorna a si mesma (isso) para que o chamador possa manter uma referência a ela.

Esse método normalmente é usado #THREAD_POOL_EXECUTOR para permitir que várias tarefas sejam executadas em paralelo em um pool de threads gerenciados pela AsyncTask, no entanto, você também pode usar as suas próprias Executor para comportamento personalizado.

<em>Aviso:</em> Permitir que várias tarefas sejam executadas em paralelo de um pool de threads geralmente <>não< é/em> o que se deseja, porque a ordem de sua operação não está definida. Por exemplo, se essas tarefas forem usadas para modificar qualquer estado em comum (como gravar um arquivo devido a um clique de botão), não haverá garantias na ordem das modificações. Sem um trabalho cuidadoso, é possível, em casos raros, que a versão mais recente dos dados seja superescrita por um mais antigo, levando a problemas obscuros de perda e estabilidade de dados. Essas alterações são melhor executadas em série; para garantir que esse trabalho seja serializado independentemente da versão da plataforma com #SERIAL_EXECUTORa qual você pode usar essa função.

Esse método deve ser invocado no thread da interface do usuário.

Java documentação para android.os.AsyncTask.executeOnExecutor(java.util.concurrent.Executor, Params...).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Aplica-se a