Programação em Java Threads Prof. Luiz Antonio Rodrigues Prof. Luiz Antonio Unioeste - Cascavel Jpanel e Diagramadores.

Slides:



Advertisements
Apresentações semelhantes
|Introdução a Java para programadores Telis. Jogo de Dados simples O jogo é jogado por dois jogadores. Cada jogador faz sua jogada (lança um dado), e.
Advertisements

Estruturas de Repetição
SSC SISTEMAS OPERACIONAIS I
Walfredo Cirne Threads Walfredo Cirne
Programação Concorrente
Programação Concorrente com Thread Java
Classes e objetos P. O. O. Prof. Grace.
O Mecanismo de Threads em Java 2. Criar uma classe herdeira da super classe Thread public class minhaThread extends Thread{ public class minhaThread extends.
Concorrência em Java Threads em Java.
Threads: Introdução e Implementação
Concorrência em Java Threads em Java.
Concorrência em Java Threads em Java.
Infra-Estrutura de Comunicação (IF678)
Capítulo 2 Java Servlets.
Concorrência e thread Petrônio Júnior(pglj) Márcio Neves(mmn2)
Introdução às Java Threads
Laboratório de Programação II Método Construtor Dados e Métodos de Objetos Prof Edivaldo - Network.
Construtores e Destrutores
Socket em Java.
Programação com Threads Threads Java como um Estudo de Caso.
Igor Steinmacher, MSc. Java!!!!
Capítulo 8 Threads.
Infra-Estrutura de Comunicação (IF678) Aula Prática 03 – CIn/UFPE Davi Duarte Cynthia Raphaella Ivan França Jéssica Barbalho Larissa Paz Paulo Fernando.
CURSO JAVA BÁSICO Módulo 9 – slide 1 Módulo 10 Threads.
Aula Prática: Demo de Sistemas Distribuídos
1. 2 Programação Orientada a Objetos Prof. Maurício Rodrigues de Morais
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos
ProgramaçãoConcorrente Glêdson Elias
CLASSES EM JAVA Dilvan Moreira (baseado no livro Big Java)
TÉCNICO EM INFORMÁTICA Linguagem e Técnica de Programação III PROF. MARCELO N. SANTOS
Protótipo de Software de Reconhecimento de Voz Para Navegação em Jogos, Utilizando Rede Neural Artificial Orientando: Derlei Brancher Orientador: Prof.
Programação em Java RMI - Remote Method Invocation Prof. Luiz Antonio Rodrigues Prof. Luiz Antonio Unioeste - Cascavel Jpanel e Diagramadores.
Programação em Java Sockets Prof. Luiz Antonio Rodrigues Prof. Luiz Antonio Unioeste - Cascavel Jpanel e Diagramadores.
Programação em Java JButton e Tratamento de Eventos Prof. Luiz Antonio Rodrigues Prof. Luiz Antonio Unioeste - Cascavel Jpanel e Diagramadores.
Disciplina: Estrutura de Dados Professor: Jeovane Reges Caxias – MA 2015 ACULDADE DE CIÊNCIAS E TECNOLOGIA DO MARANHÃO.
Padrões de Projeto Composite Observer Strategy Factory Method Mediator Façade.
Polimorfismo e suas aplicações em C++.
(baseado em slides de ex-alunos)
Linguagens de Programação Conceitos e Técnicas
OO – Engenharia Eletrônica
Introdução a Linguagem Java
TQS - Teste e Qualidade de Software (Software Testing and Quality) Introdução a testes unitários automatizados com JUnit.
Singleton Definição: Quando usar? Tipo de padrão? Como? estrutural.
3.1 Classes e Objetos Em um programa orientado a objetos normalmente existem vários objetos de um mesmo tipo. Por exemplo, um programa de controle de.
Java: Interfaces Alcides Calsavara.
Criação e manipulação de objetos
Invocação de Métodos Remotos (RMI) en Java
Modelagem de Sistemas I Aula 1 – Introdução à UML
Programação Orientada a Objetos
Programação Orientada a Objetos
Desenvolvimento de Sistemas Orientados a Objetos
Elaborando as Interfaces dos trabalhos das aulas 28, 29 e 30.
Elaborando Interfaces
Elaborando as Interfaces dos trabalhos das aulas 25, 26 e 27.
Programação Orientada a Objetos*
Rosemary Silveira Filgueiras Melo
Programação Orientada a Objetos*
Rosemary Silveira Filgueiras Melo
Rosemary Silveira Filgueiras Melo
Programação Orientada a Objetos
Programação Orientada a Objetos
Laboratório I Mateus Raeder.
Prof.: Bruno Rafael de Oliveira Rodrigues
Rosemary Silveira Filgueiras Melo
Curso básico de PHP. 1 Vantagens: Gratuito Multiplataforma Estável Rapidez Comunicação.
Leitura do teclado e Interface gráfica
Sistemas Operacionais AULA 4
JAVA - BÁSICO COL. ESTADUAL MARIA AGUIAR TEIXEIRA
Programação de Computadores II
Transcrição da apresentação:

Programação em Java Threads Prof. Luiz Antonio Rodrigues Prof. Luiz Antonio Unioeste - Cascavel Jpanel e Diagramadores

Introdução Threads são sub-procesos no sistema operacional É menos custoso gerenciar threads do que processos As linguagens Java e Ada possuem funcionalidades MULTITHREADING na própria estrutura da linguagem C e C++ necessitam de biblioteca especifica para processamento MULTITHREADING Posix p_thread

Aplicabilidade de Threads Threads são muito úteis para paralelismo de pequena escala I/O não blocado Interface com o usuário Construção de servidores Comunicação não bloqueante

Thread em Java Em Java, threads são implementadas como uma CLASSE Pacote java.lang.Thread É uma extensão da classe Thread Contrutores: public Thread (String nome_da_thread); public Thread ( ); // o nome sera Thread-# Thread-1, Thread-2,…

Exemplo de Thread em Java public class MinhaThread extends Thread { public MinhaThread(String nome) { super(nome); } public void run() { //código do thread }

Principais Métodos run() é o método que executa as atividades de uma THREAD. Quando este método finaliza, a THREAD também termina start() método que dispara a execução de uma THREAD. Este método chama o método run( ) antes de terminar sleep(int x) método que coloca a THREAD para dormir por x milisegundos

Principais métodos join( ) método que espera o término da THREAD para qual foi enviada a mensagem para ser liberada interrupt( ) método que interrompe a execução de uma THREAD interrupted( ) método que testa se uma THREAD está ou não interrompida

Estados de uma Thread

Prioridade de uma Thread Em Java, a prioridade é determinada com um inteiro entre 1 e 10 A prioridade padrão é o valor 5 10 é a maior prioridade e 1 é a menor A THREAD herda a prioridade da THREAD que acriou void setPriority(int prioridade); int getPriority( );

A interface Runnable Para utilizar multithreads em Java é necessário instanciar um objeto de uma classe que estende a classe básicaThread, certo? Uma vez que Java não possui herança múltipla, como eu posso utilizar um objeto, cuja classe já é derivada, como no caso da ClasseThread? O código abaixo não é possível! public class Filho extends Pai extends Thread { //... }

A interface Runnable A solução encontrada em Java foi a utilização de uma interface: Runnable No caso, tem-se de implementar esta interface, que possui o método run() public class Filho extends Pai implements Runnable { public void run() { //... } Cria-se uma thread (Classe Thread), passando para o seu construtor uma referência do objeto que implementa a interface Runnable. Thread t = new Thread(Runnable obj);

Exercício 1 Defina umaa classe Contador como uma subclasse de Thread, que imprime números de 0 a 10. Crie a classe TesteContador que deve definir o método main que cria e inicia a execução do thread Contador. Teste o resultado executando a classe TesteContador. Altere as classes Contador e TesteContador de modo que a classe Contador seja definida como uma implementação da interface Runnable. Teste o resultado. Agora altere o método main da classe TesteContador para criar dois ou mais threads Contador e inicialize a execução dos mesmos.

Exercício 2 Altere o programa exemplo para Sockets para permitir a conexão de vários clientes em um mesmo servidor Teste a implementação com o seu vizinho.

Referências Ver tutorial da Sun em: s