Java recursos avançados - multithreading

1,072 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,072
On SlideShare
0
From Embeds
0
Number of Embeds
14
Actions
Shares
0
Downloads
26
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Java recursos avançados - multithreading

  1. 1. Curso de Java by Antonio Rodrigues Carvalho Neto
  2. 2. Recursos Avançados
  3. 3. Threads
  4. 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. 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.
  6. 6. Threads (Estados) Novo Executável Morto Em Execução Bloqueado .start() selecionada Termina o método run() .sleep() ou quando termina o tempo quando o recurso estiver disponível Solicita algum método bloqueado, ou algum recurso indisponível
  7. 7. Thread (Pilha) MSN Internet Explorer Antivirus Java Processos a serem executados CPU Disco Memoria Portas Vai para o estado Bloqueado
  8. 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. 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. 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. 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

×