Sobes.tech
Junior — Middle

Pode explicar o que é um thread Worker no contexto da programação multithread?

sobes.tech IA

Resposta da IA

No contexto da programação multithread no Android, o thread Worker é um thread separado que executa tarefas longas ou intensivas em recursos fora do thread principal (UI). Isso permite não bloquear a interface do utilizador e manter a capacidade de resposta da aplicação.

Por exemplo, o carregamento de dados da rede, processamento de ficheiros ou cálculos complexos são realizados num thread Worker. No Android, frequentemente usam-se classes como AsyncTask (obsoleta), HandlerThread, ExecutorService ou componentes modernos da biblioteca WorkManager.

Exemplo de uso de ExecutorService para iniciar uma tarefa num thread Worker:

ExecutorService executor = Executors.newSingleThreadExecutor();
executor.execute(() -> {
    // Operação longa
    performLongTask();
    // A atualização da UI deve ser feita no thread principal
    runOnUiThread(() -> updateUI());
});