estudante
Threads é um programa que trabalha como um sub-sistema, que age de forma que um processo possa se auto-dividir em duas ou mais tarefas, tornando assim a execução de um programa mais rápida e ágil a dividindo em blocos pequenos ao invés de executar um grande bloco.
Java utiliza como mecanismo de concorrência explicitamente somente o multi-trheading, e foram incorporados diretamente à linguagem, através da biblioteca java.lang.Thread.
Quando executamos um app Java, a JVM cria um objeto do tipo Thread que é executada conforme descrito no método main(), que é iniciad automaticamente, e são executados os comandos de forma sequencial até que o método termine.
Podem ser criados de duas formas, ambas executando através do comando run():
Estendendo a classe Thread e instaciando um objeto desta nova classe;
Implementando a interface Runnable e passado um passando um objeto como argumento do construtos da classe Thread;
Exemplo de código estendendo um Thread:
Implementando Runnable:
Formas de execução: start(): Onde é iniciado a execução do thread (só pode ser invocado uma vez). yield(): Faz com que a execução do thread corrente seja imediatamente suspensa e outro thread seja escalonado. sleep(t): Faz com que o thread fique suspenso por t segundos. wait(): Fazcom que o thread fiqu suspenso até que seja explicitamente reativado por um outro thread.
Ciclo de vida de um thread:
Exceções
Exceções ocorrem quando algo imprevisto acontece, como uma sintaxe em SQL errada, determinada informação inputada incorretamente ou por um simples erro de lógica.
Um exemplo de exceção é quando executamos um programa que converte todas as letras de uma frase para maiúsculas utilizando o método toUpperCase() e é utilizado uma variável com o valor nulo...
... e nos deparamos com esse erro:
Para contornarmos esses imprevistos, uma maneira é realizar o tratamento dos locais no código onde ocorre o problema. Para isso utilizamos os comando try e