4. Threads
As Threads são segmentos executados no
processador de forma sequencial.
O Java diferentemente de outras
linguagens possui primitivas de
multithreading como parte da própria
linguagem. Isto facilita a portabilidade e a
criação de aplicações multithread.
5. Exemplos de uso de Thread
O uso de Threads é muito comum nas aplicações, pois
normalmente não podemos esperar a execução de algumas tarefas
para iniciarmos outras.
Imagine esperar o navegador trazer todas as informações na tela
para que se possa selecionar qual link se deseja, ou então aguardar
o download de uma musica por completo antes que possa começar
a ouví-la .
Para evitar isso as aplicações utilizam-se do multiprocessamento.
No caso do tocador de músicas, uma Thread se encarrega de
baixar o arquivo de com a música e outra Thread se encarrega de
tocar os trechos ja baixados da música.
8. Thread
Etapas para criar uma Thread
1. Crie uma classe que implemente a interface
Runnable e sobrescreva o método public void
run(). Este método deve conter o código a ser
executado na Thread.
Sintaxe:
public class MinhaThread implements Runnable {
public void run() {
while (true) { System.out.println(“ Minha Thread “); } } }
2. Crie um objeto da classe criada
Sintaxe:
<Classe> <objeto que representa o Job> = new <Classe>();
Exemplo:
MinhaThread job = new MinhaThread();
9. Thread
Etapas para criar um Thread (Continuação)
1. Coloque o objeto criado em um segmento para ir para a pilha
Sintaxe:
Thread <objeto que representa o Segmento> = new Thread(<objeto que representa o Job>);
Exemplo:
Thread th1 = new Thread(job);
2. Inicie a execução do segmento colocando-o em modo
executável
Sintaxe:
<objeto que representa o Segmento>.start();
Exemplo:
th1.start();
10. Exercício – Sistema de Chat
Vamos criar um sistema de chat que permite
que vários clientes se conectem com o servidor.
Faça um Socket Server e uma classe Thread
que sirva para tratar cada objeto socket
separadamente. De forma que todos os
caracteres enviados pelas conexões sejam
impressos na console.
Cada vez que o accept retornar um Socket, crie
uma Thread para tratar este socket e coloque-a
na memória.
11. Referências
Java como programar 6ª edição
Capítulo 23
pags. 786 a 793
Use a cabeça Java 2ª edição
Capitulo 15
pags. 342 a 366
Caelum Java e Orientação a Objetos
Capitulo 19
pags. 227 a 231