AsyncTask.ExecuteOnExecutor(IExecutor, Object[]) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.
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.