threads em java: introduÇÃo

Post on 06-Jun-2015

285 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

INTRODUÇÃO AO FUNCIONAMENTO DE THREADS EM JAVA

TRANSCRIPT

PCII

ETEC MONSENHOR ANTONIO MAGLIANO

2014Prof. Aloisio

ThreadsRealizando atividades

em paralelo

Programação Concorrente“Em várias situações, precisamos "rodar duas coisas ao mesmo tempo". Imagine um programa que gera um relatório muito grande em PDF. É um processo demorado e, para dar alguma satisfação para o usuário, queremos mostrar uma barra de progresso. Queremos então gerar o PDF e ao mesmo tempo atualizar a barrinha.” [Caelum].

Assoviar e Chupar Cana...

Conceito de Thread

“É uma forma de um processo dividir a si mesmo em duas ou mais tarefas que podem ser executadas concorrentemente”...“permite, por exemplo, que o usuário de um programa utilize uma funcionalidade do ambiente enquanto outras linhas de execução realizam outros cálculos e operações.” [Wikipedia].

THREADS EM JAVA...

É possível executar atividades concorrentes de 2 maneiras em java:

1. Estendendo a Classe Thread

2. Criando uma classe que implemente a interface Runnable.

THREADS EM JAVA...

A classe Thread do pacote java.lang é utilizada para programar linhas de execução paralelas. Ela recebe como argumento um objeto com o código que desejamos rodar.

Exemplo: Estender Thread

Método onde será executada as atividades

da Thread

Thread:

Testando:

THREADS EM JAVA...Executa enquanto

condição for verdadeira

Quando não for mais a Thread será finalizada

Rodando a Thread

Runnable:

Testando:

Usando Runnable...

Runnable:

Testando:

Rodando 2 Threads

CRIAR UM IDENTIFICADOR

2 Threads ao mesmo

tempo

Para que uma thread durma podemos utilizar o método sleep:Sintaxe: Thread.sleep ( long tempoEmMilessegundos ) ;

Pausando uma Thread

Vamos adicionar à classe Runnable um campo de tempo de pausa para a Thread a cada execução.

Pausando uma Thread (Testando)

Criando um Relógio...Crie uma classe chamada Relógio

Criando um Relógio...Crie um formulário (JFrame) chamado RelogioUI

txtHora (JTextField) btnRelogio (JButton)

Criando um Relógio...

Codifique o clique do Botão:

Rodando !!!

Formatando Data / Hora• Date

A data representa o tempo, um tempo é composto por ano, mês, dia atual, minuto atual, entre outras propriedades que essa classe possui.

• CalendarEssa classe pode produzir os valores de todos os campos de calendário necessários para implementar a formatação de data e hora. para obter um calendário é necessário usar o método estático getInstance().

• SimpleDateFormat Às vezes é preciso transformar um texto em uma data ou vice versa. Geralmente a classe SimpleDateFormat é mais usada quando trata-se de formatação de datas, pois já no seu construtor, quando instanciada, permite passar como argumento o formato da data desejada.

Formatando Data / Hora

Estender uma Thread é mais simples, mas você está usando herança apenas por "preguiça“.

Herdamos um monte de métodos mas usamos apenas o método run, e não por polimorfismo, que seria a grande vantagem.

Prefira implementar Runnable a herdar de Thread, pois você terá liberdade para ter objetos “rodáveis” de qualquer tipo e não só objetos que estendam da classe Thread.

Runnable x Thread

BIBLIOGRAFIA• [CAELUM]

http://www.caelum.com.br/apostila-java-orientacao-objetos/programacao-concorrente-e-threads/

• [WIKIPEDIA] http://pt.wikipedia.org/wiki/Thread_(ci%C3%AAncia_da_computa%C3%A7%C3%A3o)

• [ORACLE JAVA THREAD]http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html

• [ORACLE JAVA RUNNABLE]http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html

• [GUJ]http://www.guj.com.br/articles/8

• [DEVMEDIA]http://www.devmedia.com.br/trabalhando-com-as-classes-date-calendar-e-simpledateformat-em-java/27401

top related