MULTITHREADING. Prof.: Michele Nasu Tomiyama Bucci
|
|
- Vinícius Caldeira Olivares
- 6 Há anos
- Visualizações:
Transcrição
1 MULTITHREADING Prof.: Michele Nasu Tomiyama Bucci
2 Introdução O corpo humano realiza uma grande variedade de operações paralelamente, ou concorrentemente. Os computadores também realiza operações concorrentemente. Porém, apenas computadores que têm múltiplos processadores podem de fato executar operações concorrentemente. Em computadores de um único processador, os sistemas operacionais utilizam várias técnicas para simular concorrência, mas uma única operação pode executar por vez.
3 Introdução A maioria das linguagens de programação não permitem que programadores especifiquem atividades concorrentes. Em geral, elas fornecem apenas instruções de controle que permitem que os programadores realizem uma ação por vez, avançando para a próxima ação depois de a anterior ser concluída. O Java disponibiliza a concorrência para o programador de aplicativos por meio de suas APIs. O programador especifica os aplicativos que contém threads de execução, em que cada thread designa uma parte do programa que pode executar concorrentemente com outras threads multithreading.
4 Introdução Um exemplo de multithreading é a coleta de lixo do Java. Linguagens como C/C++ exigem que o programador reivindique memória dinamicamente alocada (free) de modo explícito (malloc). O Java fornece uma thread coletora de lixo que reivindica a memória que não é mais necessária.
5 Classe Thread A qualquer dado momento, uma thread pode estar em de seus vários estados de thread:
6 Estados da Thread Uma nova thread inicia seu ciclo de vida no estado novo. Ela permanece nesse estado até o programa iniciar a thread, o que a coloca em estado executável (a thread está executando a sua tarefa). Às vezes uma thread entra no estado de espera enquanto espera outra thread realizar uma tarefa. Uma vez nesse estado, a thread só volta ao estado executável quando outra thread sinalizar a thread de espera para retornar a execução.
7 Estados da Thread Uma thread executável também pode entrar no estado de espera sincronizada por um intervalo especificado de tempo. Uma thread nesse estado volta ao estado executável quando esse intervalo de tempo expira ou quando ocorre um evento que ele está esperando. As threads em espera sincronizada não podem utilizar um processador, mesmo que haja um disponível. Uma thread pode transitar para o estado de espera sincronizada se fornece um intervalo de espera opcional quando ela estiver esperando outra thread realizar uma tarefa.
8 Estados da Thread Outra maneira de colocar uma thread em espera sincronizada é colocá-la para dormir. Uma thread adormecida permanece no estado de espera sincronizada por um período determinado de tempo (intervalo de adormecimento). As threads dormem quando, por um breve período, não têm de realizar nenhuma tarefa. Uma thread entra no estado terminado quando completa sua tarefa ou termina (condição de erro). Exemplo: Processador de texto.
9 Estados da Thread No nível do sistema operacional, o estado executável do Java na realidade inclui 2 estados separados: pronto e executando.
10 Estados da Thread Quando uma thread pela 1ª vez no estado executável a partir do estado novo, a thread está no estado pronto. Uma thread pronta entra no estado de execução quando o sistema operacional atribui a thread a um processador. despachar uma thread. Na maioria dos sistemas operacionais, cada thread recebe uma pequena quantidade de tempo de processador quantum ou fração de tempo com a qual realiza sua tarefa.
11 Estados da Thread Quando o quantum de uma thread expira, a thread retorna ao estado pronto e o sistema atribuirá outra thread ao processador. O processo que utiliza o sistema operacional para decidir qual thread despachar é conhecido como agendamento de thread e depende das prioridades de threads.
12 Prioridades de Thread e Agendamento de Thread Cada thread Java tem uma prioridade que ajuda o sistema operacional a determinar a ordem em que as threads são agendadas. MIN_PRIORITY(constante de 1). MAX_PRIORITY(constante de 10). NORM_PRIORITY(constante de 5). Informalmente as threads com prioridade mais alta são mais importantes para um programa e devem se alocadas em tempo de processador antes das threads de prioridade mais baixa. Entretanto, as prioridades de thread não podem garantir a ordem em que elas são executadas.
13 Prioridades de Thread e Agendamento de Thread O trabalho de um scheduler de thread de sistema operacional é determinar a próxima thread que entra em execução. Uma simples implementação do scheduler de thread mantém a thread de prioridade mais alta executando o tempo todo e, se houver mais de uma thread de prioridade mais alta, isso assegura que casa uma dalas executa por um quantum no estilo rodízio.
14 As threads A e B vão ficar executando no estilo rodízio até que uma das threads torna-se pronta. O processador então dedica-se a thread que resta. Quando a thread termine a execução, a thread C executa até a sua conclusão ( considerando que nenhuma thread de prioridade mais alta chegará). Após, D, E e F entra no rodízio de execução.
15 Criando e Executando Threads Existem duas formas de criar explicitamente criar explicitamente um thread em Java: Estendendo a classe Thread e instanciando um objeto desta nova classe. Implementando a interface Runnable, e passando um objeto desta nova classe como argumento do construtor da classe Thread. Nos dois casos a tarefa a ser executado pelo thread deverá ser descrita pelo método run().
16 Criando e Executando Threads A interface Runnable declara um único método chamado run. Runnables são executados por um objeto de uma classe que implementa a interface Executor. Essa interface declara um único método chamado execute. Em geral, um objeto Executor cria e gerencia um grupo de threads denominado de pool de threads. A interface ExecutorService provê vários outros métodos para gerenciar o ciclo de vida de um Executor. O Executor atribui cada Runnable a uma das threads disponíveis do pool de threads.
17
18
19 Exemplo Faça um programa que imprima os números primos existentes entre 0 e Utilize threads. Para cada faixa de 1000 valores crie uma thread e dispare o processo para cada uma delas
20 public class PrimoThread implements Runnable{ private int min; private int max; public PrimoThread(int x, int y){ min = x; max = y; public boolean primo(int x){ for(int i=2; i<x/2+1;i++){ if(x%i==0){ return false; return true; public void run(){ //System.out.println("Primos entre: "+min+"-"+max); for(int i=min; i<=max;i++){ if(primo(i)){ System.out.println(i); System.out.println("");
21 import java.util.concurrent.executorservice; import java.util.concurrent.executors; public class PrimoThreadTeste { public static void main(string args[]){ PrimoThread p1 = new PrimoThread(1, 1000); PrimoThread p2 = new PrimoThread(1001, 2000); PrimoThread p3 = new PrimoThread(2001, 3000); PrimoThread p4 = new PrimoThread(3001, 4000); PrimoThread p5 = new PrimoThread(4001, 5000); System.out.println("Starting threads"); ExecutorService threadexecutor = Executors.newFixedThreadPool(5); threadexecutor.execute(p1); threadexecutor.execute(p2); threadexecutor.execute(p3); threadexecutor.execute(p4); threadexecutor.execute(p5); threadexecutor.shutdown(); //System.out.println("Threads Started, main ends");
22 Exemplo Implemente uma Corrida de Sapos! Crie um Classe sapo que herda de Runnable Atributos: distanciapercorrida, distanciapulo... Crie uma Classe Corrida de Sapos Atributos: distanciacorrida, NumSapos
23 public class SapoThread implements Runnable{ private String nome; private double distpulo; private double distpercorrido; private double distmax; public SapoThread(String n, double pu, double pe, double dm){ nome=n; distpulo=pu; distpercorrido=pe; distmax=dm; public void run(){ while(distpercorrido<distmax){ distpercorrido+=distpulo; System.out.println(nome+" Chegou!");
24 import java.util.concurrent.executorservice; import java.util.concurrent.executors; public class SapoThreadTeste { public static void main(string args[]){ double dist = 10.0; SapoThread s1 = new SapoThread("Sapo1",0.5,0.0,dist); SapoThread s2 = new SapoThread("Sapo2",0.3,0.0,dist); SapoThread s3 = new SapoThread("Sapo3",0.9,0.0,dist); SapoThread s4 = new SapoThread("Sapo4",0.6,0.0,dist); SapoThread s5 = new SapoThread("Sapo5",0.4,0.0,dist); ExecutorService threadexecutor = Executors.newFixedThreadPool(5); threadexecutor.execute(s1); threadexecutor.execute(s2); threadexecutor.execute(s3); threadexecutor.execute(s4); threadexecutor.execute(s5); threadexecutor.shutdown();
Threads. O que é uma Thread? Paralelismo
Threads em Java 1 O que é uma Thread? Paralelismo Threads Multi- threading é o mecanismo de concorrência suportado explicitamente pela linguagem Java. Os mecanismos de gerenciamento e sincronização de
Leia maisUNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO Bacharelado em Sistemas de Informação. Processamento Paralelo Threads. Aluno: Wagner Palacio
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO Bacharelado em Sistemas de Informação Processamento Paralelo Threads Aluno: Wagner Palacio Turma: 3º período Professor: Giordano Cabral Recife, 29 de maio de 2012
Leia maisPROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 11 - Threads e Concorrência
Aula 11 - Threads e Concorrência Conteúdo Programático desta aula Apresentar os Conceitos de Threads, Concorrência e Sincronização. Verificar a aplicabilidade destes conceitos no mercado, bem como sua
Leia maisProgramação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes -
Programação Java - Herança, Classes Abstratas e Interfaces - Marco Fagundes mfagundes@tre-pa.gov.br 1 Tópicos Herança Ligação Dinâmica Polimorfismo 2 Herança Herança é um conceito que mapeia as classes
Leia maisLinguagem de Programação Orientada a Objeto Construtores e Sobrecarga
Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga Professora Sheila Cáceres Sobrecarga (overloading) Na mesma classe podemos definir vários métodos com o mesmo nome Sobrecarga O tipo
Leia maisConceitos Básicos da Programação OO
Conceitos Básicos da Programação OO Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Objetivos Aprender os
Leia maisAlgoritmos I Aula 13 Linguagem de Programação Java
Algoritmos I Aula 13 Linguagem de Programação Java Professor: Max Pereira http://paginas.unisul.br/max.pereira Ciência da Computação IDE Eclipse IDE (Integrated development environment) Criar um projeto
Leia maisImplementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação
Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação Introdução Além de utilizar as classes presentes na biblioteca padrão, programadores podem definir suas próprias
Leia maisProgramação Concorrente com Thread Java. Luiz Affonso Guedes Sistemas Distribuidos
Programação Concorrente com Thread Java Luiz Affonso Guedes Sistemas Distribuidos Definições Básicas Threads são sub-procesos no sistema operacional. É menos custoso gerenciar threads do que processos.
Leia maisSistemas Operacionais I Parte VI Threads
Sistemas Operacionais I Parte VI Threads Roteiro Introdução Benefícios Ciclo de Vida Estados Modelos Multithreading Modelo Muitos para Um Modelo Um para Um Modelo Muitos para Muitos Sistemas com Threads
Leia maisTratamento de Exceções, Multithreads e arquivos (em Java) Programação Orientada a Objetos
Tratamento de Exceções, Multithreads e arquivos (em Java) Programação Orientada a Objetos Nesta unidade vamos ver os últimos assuntos de interesse em java. O primeiro deles, bem simples, é o tratamento
Leia maisDados armazenados em um objeto podem ser tanto primitivos, tais como inteiros ou caracteres, ou referências para outros objetos.
2. Classes e Objetos Uma classe é um modelo que define os atributos e métodos comuns a um conjunto de objetos de forma encapsulada. Atributos são informações ou dados que descrevem, categorizam ou quantificam
Leia maisAula 08 Estruturas de Condição. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes
Aula 08 Estruturas de Condição Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda da Aula Entrada de Dados; Estruturas de Controle: Estrutura de Sequência;
Leia maisAULA 6 - ARRAYS. Array de 10 elementos
1 AULA 6 - ARRAYS Arrays são objetos que armazenam diversas variáveis do mesmo tipo. Eles podem conter variáveis de referência primitivas ou de objeto, mas o array propriamente dito sempre será um objeto
Leia maisProgramação Orientada a Objetos (DPADF 0063)
Programação Orientada a Objetos (DPADF 0063) Aula 10 Threads Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet Prof. Bruno
Leia maisLista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }
Lista 05 Herança 1. Analisando a classe Java abaixo podemos observar que a mesma possui apenas um atributo, um construtor e dois métodos. Perceba que dentro do método main estão sendo invocados métodos
Leia maisComputação II Orientação a Objetos
Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Breakout Componentes do Breakout Bola Raquete Tijolos Paredes Score Nem todos vão precisar de classes próprias
Leia maisEstrutura de Dados Funções e Procedimentos
Estrutura de Dados Funções e Procedimentos Prof. Salustiano Rodrigues de Oliveira saluorodrigues@gmail.com www.profsalu.wordpress.com Java A linguagem Java utiliza o paradigma de programação orientada
Leia maisClasses o Objetos. Classes, objetos, métodos e variáveis de instância
Classes o Objetos Um recurso comum de cada aplicativo feito até agora é que todas as instruções que realizavam tarefas localizavam-se no método main. Se você tornar parte de uma equipe de desenvolvimento
Leia maisProgramação Java. - Classes, Objetos, Atributos e Métodos - Marco Fagundes Marco Fagundes -
Programação Java - Classes, Objetos, Atributos e Métodos - Marco Fagundes mfagundes@tre-pa.gov.br 1 Tópicos Programação Orientada a Objetos Classes e Objetos Definindo e Instanciando Classes Atributos
Leia maisFabiano Moreira.
Fabiano Moreira professor@fabianomoreira.com.br Um pouco de história Java 1.02 (250 classes, lenta) Java 1.1 (500 classes, um pouco mais rápida) Java 2, versões 1.2-1.4 (2300 classes, muito mais rápida)
Leia maisApêndice A. Alguns construtores e métodos importantes e úteis da classe Vector são:
Apêndice A Classe Vector A classe Vector permite a representação de um vetor de dados de maneira similar à de um array, visto na disciplina Programação Orientada a Objetos I, mas com maior flexibilidade.
Leia maisPara entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:
Introdução a Orientação a Objetos com Java Autor: Professor Victor Augusto Zago Menegusso. Orientação a Objetos É um paradigma de programação que define a estrutura de um programa baseado nos conceitos
Leia maisMétodos Genéricos. Prof.: Michele Nasu Tomiyama Bucci
Métodos Genéricos Prof.: Michele Nasu Tomiyama Bucci Introdução Métodos genéricos e classes genéricas (e interfaces) permitem especificar, com uma única declaração de método, um conjunto de métodos relacionados
Leia mais1) Responda de acordo com os conceitos de orientação a objetos (0,5).
Avalição II (Teórica) 22/06/2017 Disciplina Linguagem de Programação II Prof. Wagner, dos Santos C. de Jesus Curso Engenharia da Computação Questões Solução da Avaliação 1) Responda de acordo com os conceitos
Leia maisClasses e Objetos. Sintaxe de classe em Java
Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados
Leia maisLinguagens de Programação Classificação
Classificação Classificação A proximidade que a linguagem de programação tem com a humana determina sua classe (o nível): Linguagem de máquina (primeira geração) Linguagem assembly - de montagem (segunda
Leia maisProgramação Java (nível intermediário) 4. Polimorfismo
Programação Java (nível intermediário) 4 Polimorfismo Introdução Uma linguagem orientada a objetos nos permite definir novos tipos para variáveis Nós definimos um novo tipo através de uma classe Este tipo
Leia maisEspecificam quem tem acesso a cada entidade, isto é, quem tem acesso a. cada classe e cada membro da classe (dados e métodos)
Mecanismos de controlo de acesso Especificam quem tem acesso a cada entidade, isto é, quem tem acesso a cada classe e cada membro da classe (dados e métodos) Modificadores de acesso: public protected private
Leia maisInterfaces. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.
Interfaces Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Interfaces É utilizada para agrupar conceitos em
Leia maisProgramação Java. - Herança e Polimorfismo - Marco Fagundes Marco Fagundes -
Programação Java - Herança e Polimorfismo - Marco Fagundes mfagundes@tre-pa.gov.br 1 Tópicos Herança Ligação Dinâmica Polimorfismo 2 Herança Herança é um conceito que mapeia as classes relacionadas entre
Leia maisArray em Java. Figura 1 - Exemplo de um array de inteiros
Array em Java 1. Objetivos Nesta lição, abordaremos Array em Java. Primeiro, definiremos o que é array e, então, discutiremos como declará-los e usá-los. Ao final desta lição, o estudante será capaz de:
Leia mais1 - O que será impresso quando o seguinte programa escrito na linguagem JAVA for compilado e executado?
1 - O que será impresso quando o seguinte programa escrito na int i; do i++; while(i < 0); System.out.println(i); a) O programa não compila pois a variável i não foi inicializada. b) O programa compila,
Leia mais9 Classes Abstractas e Interfaces
9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract
Leia maisThreads e Concorrência em Java (Material de Apoio)
Introdução Threads e Concorrência em Java (Material de Apoio) Professor Lau Cheuk Lung http//www.inf.ufsc.br/~lau.lung INE-CTC-UFSC A maioria dos programas são escritos de modo seqüencial com um ponto
Leia maisIntrodução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis
Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis Estruturas de Seleção if... else Operador condicional (? : ) switch Aula de Hoje Estruturas de Repetição: while/do... while/for
Leia maisEsta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli
Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; Tudo no mundo real pode ser representado por meio do conceito de "objeto": uma planta, uma mesa, uma pessoa, um sentimento,
Leia maisAULA 11 PROGRAMAÇÃO ORIENTADA A OBJETOS (INTRODUÇÃO) Disciplina: Programação Orientada a Objetos Professora: Alba Lopes
AULA 11 PROGRAMAÇÃO ORIENTADA A OBJETOS (INTRODUÇÃO) Disciplina: Programação Orientada a Objetos Professora: Alba Lopes alba.lopes@ifrn.edu.br CONCEITOS FUNDAMENTAS Na computação, temos um problema a ser
Leia maisCOMPORTAMENTOS - Observações
COMPORTAMENTOS - Observações O próprio objeto realiza operações de consulta ou alteração dos valores dos seus atributos Essas operações são definidas em seus métodos Os métodos também são utilizados para
Leia maisIntrodução a classes e objetos. Prof. Marcelo Roberto Zorzan
Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Aula de Hoje Abstração de Dados Classes e Objetos Definição de Métodos Métodos com parâmetro Abstração de Dados Processo mental através do qual
Leia maisPolimorfismo e Ligação Dinâmica. Alcides Pamplona Polimorfismo e Ligação Dinâmica
Alcides Pamplona Linguagem de Programação CESBD 2010 Alcides Pamplona alcides.pamplona@gmail.com Tópicos Ligação Dinamica Polimorfismo Verificação Dinâmica de Tipos 2 Introdução A vinculação ou ligação
Leia maisINF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS
INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Andrew Diniz da Costa andrew@les.inf.puc-rio.br Programa Capítulo 3 Ponteiros e Variáveis de Objeto Construtores
Leia maisDIRETORIA ACADÊMICA DE GESTÃO E TECNOLOGIA DA INFORMAÇÃO DIATINF TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TADS
DIRETORIA ACADÊMICA DE GESTÃO E TECNOLOGIA DA INFORMAÇÃO DIATINF TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TADS LISTA DE EXERCÍCIOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS 1. Crie um modelo (classe)
Leia maisProgramação. Orientada a Objetos: Herança. Objetos. Relacionamento entre classes. Análise e Projeto Orientados a. Objetos
Programação Orientada a Objetos: Herança Alexandre César Muniz de Oliveira Análise e Projeto Orientados a Objetos A análise orientada a objetos Determina o que o sistema deve fazer: Quais os atores envolvidos?
Leia maisINF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS
INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 9 Tratamento de Exceções Assertivas 1 Programa Capítulo 9 Tratamento
Leia maisEstruturas de controle Parte 1
1. Objetivos Estruturas de controle Parte 1 Nas lições anteriores, foram mostrados programas seqüenciais, onde as instruções foram executadas uma após a outra de forma fixa. Nesta lição, discutiremos estruturas
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos luno: ata: Professor: Leonardo abral da Rocha Soares 1. Torna o atributo visível a todas as classes do pacote onde foi declarado: a) public b) private c) protected d) package
Leia maisProgramação Concorrente em Java
Programação Concorrente em Java Prof. Orlando Loques - IC/UFF versão 17-04-2001 Referências: - Programação Concorrente em Java, Sérgio Teixeira de Carvalho & Leonardo N. M. Reis IC-UFF - Ousterhout, J.:
Leia maisUniversidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador)
Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça Problema: Definir uma dependência um-para-muitos entre objetos, de forma quando o estado
Leia maisUtilizando Threads em Java
Utilizando Threads em Java CCComp - DCE - UESB Resumo sobre os threads em Java Estrutura Geral das Implementações CCComp - DCE - UESB class ProcessoA extends Thread {... }//fim da classe ProcessoA class
Leia maisINF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS
INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Andrew Diniz da Costa andrew@les.inf.puc-rio.br Programa Capítulo 9 Tratamento de Exceções Assertivas Programa Capítulo
Leia maisLição 4 Fundamentos da programação
Lição 4 Fundamentos da programação Introdução à Programação I 1 Objetivos Ao final desta lição, o estudante será capaz de: Identificar as partes básicas de um programa em Java Reconhecer as diferenças
Leia maisPolimorfismo. O que é polimorfismo?
O que é polimorfismo? Polimorfismo Significa que variáveis podem referenciar mais do que um tipo. Não é um conceito novo e várias linguagens de programação aplicam. Funções são polimórficas quando seus
Leia maisOrientação a Objetos AULA 09
Orientação a Objetos AULA 09 Prof. Fabrício Martins Mendonça Conteúdo da Aula ü Coleções ü Coleções lista de objetos ü Coleções conjuntos 2 Coleções Podemos armazenar vários objetos em um array e este
Leia maisInterfaces e Classes Abstratas
Interfaces e Classes Abstratas José Gustavo de Souza Paiva Problema Método obterarea()? Classes Abstratas Classes que funcionam como um molde Declarada com comando abstract Contém um ou mais métodos abstratos
Leia maisVariáveis primitivas e Controle de fluxo
Variáveis primitivas e Controle de fluxo Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/
Leia maisJava RMI. RMI Remote Method Invocation. Chamadas Remotas de Procedimentos (RPC) RPC - Implementação
Java Remote Method Invocation Java Remote Method Invocation () é um protocolo Java para comunicação entre processos Permite objetos Java invocar transparentemente métodos de outros objetos (que podem estar
Leia maisAtributos e Métodos Estáticos
Atributos e Métodos Estáticos Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Atributos Estáticos Atributos
Leia maisClasse. Objeto é uma instância de uma classe. Classe é onde conceituamos o objeto É a essência do objeto Define os atributos e métodos
Criação de Objetos e Acesso à Métodos Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Introdução Classe Classe é onde conceituamos o objeto É a essência do objeto Define os atributos
Leia maisExecução concorrente em Java: threads. O que são Threads? Criação e métodos de Threads Sincronização Comunicação entre Threads
Execução concorrente em Java: threads O que são Threads? Criação e métodos de Threads Sincronização Comunicação entre Threads Programação concorrente: introdução O mundo real funciona concorrentemente:
Leia maisLição 7 Array em Java
Lição 7 Array em Java Introdução à Programação I 1 Objetivos Ao final desta lição, o estudante será capaz de: Declarar e criar arrays Acessar elementos de um array Determinar o número de elementos em um
Leia maisIntrodução a classes e objetos. Prof. Marcelo Roberto Zorzan
Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Herança Aula de Hoje Problema Considere uma empresa que tenha tipos de empregados no aplicativo de folha de pagamento Um empregado tem nome,
Leia maisLógica de Programação. Lógica de Programação com Java
Lógica de Programação Lógica de Programação com Java Sumário Lógica de programação 1. Algoritmos 2. Comentários no código 3. Tipos de dados 4. Constantes e Variáveis 5. O que devemos saber para começar
Leia maisConceitos de Programação Orientada a Objetos
Conceitos de Programação Orientada a Objetos Tatyana Bitencourt Com as técnicas de orientação a objeto, é possível obter resultados considerados impossíveis pensando de maneira estruturada. Como Java não
Leia maisPROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 12 - Threads e Concorrência em Java
Aula 12 - Threads e Concorrência em Java Conteúdo Programático desta aula Aplicar os conceitos e threads, processos concorrentes e sincronização em pequenos programas. Aplicar e verificar os conceitos
Leia maisProgramação de Computadores para GI
Programação de Computadores para GI Aula 05 Java - Identificadores Nomes que o programa manipula: variáveis, constantes, subprogramas e classes Não devem começar com números nem com _ Não existe tamanho
Leia maisArrays e Marizes. João Paulo Q. dos Santos
Arrays e Marizes João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Roteiro Arrays e Matrizes em Java: Declaração; Criação; Acesso; 25/07/13 2 Array: tipos primitivos Os arrays (matriz unidimensional) em
Leia maisImplementando um Projeto. Programação em Java. Do Projeto para Implementação. Classe Pública em Java. Corpo de Classes e Métodos. Convenção de Nomes
DCC / ICEx / UFMG Implementando um Projeto Programação em Java Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Assim como em outras engenharias, o projeto não é suficiente Ninguém pode dirigir o
Leia maisConstrutores. Introdução
Construtores José Gustavo de Souza Paiva Introdução Até o momento, temos tratado a inicialização dos atributos das classes de duas maneiras Alteração dos valores dos atributos diretamente - atributos públicos
Leia maisIntrodução. Atributos em Java. Atributos. Acesso à atributos em Java. Atributo versus variável. Atributos, métodos e encapsulamento.
Introdução Atributos, métodos e encapsulamento joao@ecomp.uefs.br Atributos Ipos de acesso: private, public, protected e default Encapsulamento Métodos Construtores Criando objetos Departamento de Ciências
Leia maisPOO29004 Programação Orientada a Objetos
POO29004 Programação Orientada a Objetos Herança Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/poo 11 de setembro
Leia maisUniversidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java
Guia da Sintaxe do Java TIPOS PRIMITIVOS DE DADOS DO JAVA São os tipos nativos de dados do Java, que podem ser usados na declaração de atributos, variáveis, parâmetros. Tipo primitivo Tamanho Valor padrão
Leia maisProjeto de sistemas em Java. Algoritmos e Programação I. Classe SimulacaoFuncionario. Classe SimulacaoFuncionario. Classe SimulacaoFuncionario
Projeto de sistemas em Java Algoritmos e Programação I Aula 25 Profa. Márcia Cristina Moraes mmoraes@inf.pucrs.br Profa. Sílvia M. W. Moraes silvia@inf.pucrs.br Agora que já estamos manipulando com mais
Leia mais4 Conceito de Herança
4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança
Leia maisAula 4 Estruturas de Controle
UNIP Universidade Paulista Ciência da Computação Aula 4 Estruturas de Controle Prof. Célio Ricardo Castelano 1 Tópicos Abordados 1) Instruções de seleção em Java: 2) Instruções de repetição em Java: 2
Leia maisO objetivo aqui é criar um sistema para gerenciar os funcionários do Banco.
Instituto Federal de Educação, Ciência e Tecnologia da Bahia Campus Irecê Disciplina: Linguagem Técnica I Prof o Jonatas Bastos Nome: LISTA DE EXERCÍCIO 2 - Exercícios de Orientação a Objetos O objetivo
Leia maisAula 05 Classes, Atributos, Métodos. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes
Aula 05 Classes, Atributos, Métodos Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda Classe; Atributos; Métodos. Classes É onde conceituamos
Leia maisIdiomas de Programação
DCC / ICEx / UFMG Idiomas de Programação Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Definição de Idiomas Idiomas são padrões de baixo nível específicos de uma linguagem de programação Cada idioma
Leia maisFabrício J. Barth. BandTec - Faculdade de Tecnologia Bandeirantes
Árvores Fabrício J. Barth BandTec - Faculdade de Tecnologia Bandeirantes Setembro de 2011 Tópicos Introdução Árvores binárias Implementação em Java Ordens de percurso em árvores binárias Altura de uma
Leia maisProgramação por Objectos. Java
Programação por Objectos Java Parte 6: Herança e Polimorfismo LEEC@IST Java 1/50 Herança revisão (1) A herança é um mecanismo em que a subclasse constitui uma especialização da superclasse. A superclasse
Leia maisProgramação de Computadores II TCC /Turma A 1
Programação de Computadores II TCC 00.174/Turma A 1 Professor Leandro A. F. Fernandes http://www.ic.uff.br/~laffernandes Conteúdo: Tratamento de exceções Material elaborado pelos profs. Anselmo Montenegro
Leia maisArrays em Java. Introdução à Programação. Bruno Cartaxo
Arrays em Java Introdução à Programação Bruno Cartaxo http://sites.google.com/site/brunocartaxo bruno.cartaxo@olinda.ifpe.edu.br Tópicos a serem discutidos na disciplina Introdução a computadores e algoritmos
Leia maisINF1404 MODELAGEM DE SISTEMAS
INF1404 MODELAGEM DE SISTEMAS Bacharelado em Sistemas de Informação Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 9 A Modelagem Dinâmica Diagramas de Interação Diagrama de Seqüência 1 Programa
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Modificadores de Acesso: public e private Prof. Tulio Alberton Ribeiro Instituto Federal de Santa Catarina IFSC campus São José tulio.alberton@ifsc.edu.br 31 de julho de
Leia maisGenéricos. Profa. Thienne Johnson EACH/USP
Genéricos Profa. Thienne Johnson EACH/USP Java, como programar, 6ª edição Deitel & Deitel Capítulo 18 Material complementar http://wps.prenhall.com/br_deitel_comoprogra_6/ Todas as classes em Java herdam,
Leia maisLinguagem de Programação. Diagrama de classes
Linguagem de Programação Diagrama de classes Joyce França Professora de Ciência da Computação - IFNMG 2 Agenda Diagrama de classes Herança Associação Agregação Exercícios 3 Diagrama de classes Mostra um
Leia maisParadigmas de Linguagens de Programação. Suporte para Programação Orientada a Objeto
Suporte para Programação Orientada a Objeto Cristiano Lehrer Categoria das Linguagens que Suportam POO Suporte a POO acrescentado a uma linguagem já existente: C++ (também suporta programação procedural
Leia maisNum programa em JAVA é possível definir diferentes sequências de execução independente: Threads.
Threads Folha 5-1 Num programa em JAVA é possível definir diferentes sequências de execução independente: Threads. Uma Thread é similar a um processo no sentido em que corresponde a um conjunto de instruções
Leia maisLição 11 Herança, polimorfismo e interfaces
Lição 11 Herança, polimorfismo e interfaces 1 Objetivos Ao final da lição, o estudante deverá estar apto a: Definir superclasses e subclasses Criar Override de métodos de superclasses Criar métodos e classes
Leia maisJAVA. Professor: Bruno Toledo
JAVA Professor: Bruno Toledo Funcionamento de uma LP Em uma Linguagem de Programação (LP) como C e Pascal, temos o seguinte quadro quando vamos compilar um programa. Código fonte em c Teste.c Gera código
Leia maisEstruturas de Repetição e String. Vanessa Braganholo
Estruturas de Repetição e String Vanessa Braganholo vanessa@ic.uff.br Aula de hoje... Estruturas de repetição while...do do...while for String Manipulação de textos 2 Estruturas de Repetição Permitem que
Leia maisThreads, Gerenciamento de Threads. Pool de Threads, Grupo de Threads Variáveis Locais à Threads
Threads, Gerenciamento de Threads Pool de Threads, Grupo de Threads Variáveis Locais à Threads Tarefa para Adormecimento e Despertar de Threads public class ThreadSleep extends Thread { private long tempo
Leia maisEncapsulamento e Métodos (Construtores e Estáticos) João Paulo Q. dos Santos
Encapsulamento e Métodos (Construtores e Estáticos) Sobrecarga de Métodos João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Roteiro Conceitos sobre Encapsulamento; Variável this; Métodos Construtores;
Leia maisClasses e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II Classes e Objetos Objetos Um conjunto de estados e comportamentos Classes Um modelo para a criação de objetos 1 Pacotes e Java API Pacotes Um conjunto
Leia maisProblema do Caminho Hamiltoniano
Universidade de São Paulo Escola de Artes, Ciências e Humanidades Bacharelado em Sistemas de Informação Introdução à Ciência da Computação II Professores Luciano Digiampietri e Fábio Nakano Data de entrega:
Leia maisBCC202 - Estrutura de Dados I
BCC202 - Estrutura de Dados I Aula 03: Tipos Abstratos de Dados (TADs) Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Ciência da Computação, DECOM Website: www.decom.ufop.br/reifortes
Leia maisTHREADS EM JAVA. George Gomes Cabral
THREADS EM JAVA George Gomes Cabral THREADS Fluxo seqüencial de controle dentro de um processo. Suporte a múltiplas linhas de execução permite que múltiplos processamentos ocorram em "paralelo" (em computadores
Leia maisp Imagine que um Sistema de Controle do Banco pode ser acessado, além dos Gerentes, pelos Diretores do Banco
1 Expandindo o Sistema p Imagine que um Sistema de Controle do Banco pode ser acessado, além dos Gerentes, pelos Diretores do Banco class Diretor extends Funcionario { public boolean autentica(int senha)
Leia mais