Tarefas e ciclos de vida
Compreenda os estados e os ciclos de vida das tarefas na concorrência: da criação à terminação.
Tarefas e ciclos de vida é uma aula grátis de Java Academy no CoddyKit. Esta é a aula 2 de 2. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Java Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Java Academy inclui 2 aulas no total.
Introdução
Tarefas representam unidades de trabalho. As linhas de execução e os executores executam tarefas, e cada tarefa passa por um ciclo de vida.
Estados das linhas de execução
Estados das linhas de execução: NEW, RUNNABLE, BLOCKED, WAITING, ESPERA_COM_TEMPO, TERMINATED.
Código: estados do ciclo de vida
Isso mostra os estados das linhas de execução antes e depois da execução.
public class Main {
public static void main(String[] args) throws Exception {
Thread t = new Thread(() -> System.out.println("Running task"));
System.out.println("State before start: " + t.getState());
t.start();
t.join();
System.out.println("State after finish: " + t.getState());
}
}
Tarefas dos executores
Os executores gerenciam as tarefas internamente. As tarefas são colocadas em uma fila, assumidas pelas linhas de execução e então concluídas.
Código: ciclo de vida do executor
Isso envia uma tarefa para um executor e o encerra.
import java.util.concurrent.*;public class Main {
public static void main(String[] args) throws Exception {
ExecutorService exec = Executors.newSingleThreadExecutor();
Future<?> f = exec.submit(() -> System.out.println("Task in executor"));
f.get();
exec.shutdown();
System.out.println("Executor shutdown called.");
}
}
Estados de espera
As linhas de execução podem esperar (WAITING) ou esperar com um tempo limite (ESPERA_COM_TEMPO). Elas se tornam RUNNABLE novamente quando são notificadas.
Verificação do ciclo de vida
Verificação rápida: qual destes não é um estado comum de uma linha de execução?
Recapitulação
Recapitulação: as linhas de execução e as tarefas passam por estados. Os executores gerenciam as tarefas e realizam o encerramento corretamente.
Perguntas Frequentes
A aula “Tarefas e ciclos de vida” é grátis?
Sim — o texto completo de “Tarefas e ciclos de vida” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Java Academy, atualize para CoddyKit PRO. O curso de Java Academy inclui 2 aulas no total.
O que vou aprender em “Tarefas e ciclos de vida”?
Compreenda os estados e os ciclos de vida das tarefas na concorrência: da criação à terminação. Você pratica Java Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Java Academy?
Nenhuma experiência prévia é necessária. Java Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 2.
Quanto tempo leva a aula “Tarefas e ciclos de vida”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Java Academy?
Sim. Cada aula de Java Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Executors e Futures
- Tarefas e ciclos de vida