TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Programação Concorrente em Laboratório

Por:   •  5/6/2016  •  Pesquisas Acadêmicas  •  758 Palavras (4 Páginas)  •  304 Visualizações

Página 1 de 4

[pic 1][pic 2]

Curso:

Bacharelado em Sistemas de Informação

Série:

6ª 7ª

Turma:

Nota:

Disciplina:

Programação Concorrente

Turno:

Professor:

Leslier Soares

Data:

___/___/______

Aluno(a):

RA:

Exercícios Práticos – Laboratório 03

Introdução

O objetivo deste Laboratório é introduzir o uso de multithreading e monitores em Java. Para cada atividade, siga o roteiro proposto e responda a todas as questões colocadas antes de passar para a próxima atividade.

Atividade 1

Objetivo: Mostrar como criar programas com várias threads em Java.

Roteiro: Em Java uma thread é normalmente uma subclasse de java.lang.Thread, a qual oferece métodos para criar threads, iniciá-las, suspendê-las e esperar pelo seu término.

O primeiro passo para criar uma aplicação concorrente em Java é criar uma classe que implementa  a interface  Runnable.  Essa interface define o método run(), responsável pelo código que deverá ser executado pela thread. O segundo passo é transformar o objeto Runnable em uma thread, chamando o construtor da classe Thread com o objeto Runnable como argumento. O terceiro passo é iniciar as threads criadas, usando o método start()  da classe Thread.

Abra o arquivo THello.java e siga o roteiro abaixo.

1. Leia o programa e tente entender o que ele faz.

2. Compile o programa fazendo javac THello.java.

3. Execute o programa várias vezes fazendo java THello) e observe os resultados impressos na tela. Há mudanças na ordem de execução das threads? Por que isso ocorre?

4. Comente as linhas 38-40 e compile o programa novamente.

5. Execute o programa várias vezes e observe os resultados impressos na tela. Qual alteração na execução da aplicação pode ser observada e por que ela ocorre?

Atividade 2

Objetivo: Forçar as threads a executarem em duas rodadas.

Roteiro: Edite o arquivo THelloBye.java e siga o roteiro abaixo.

1. Observe as alterações no código em relação ao arquivo anterior.

2. Compile e execute o programa várias vezes e observe os resultados impressos na tela. Qual alteração na execução da aplicação pode ser observada  agora e por que ela ocorre?

Atividade 3

Objetivo: Mostrar outra forma de criar threads em Java.

Roteiro: Outra forma de criar programas concorrentes em Java é estendendo a classe

Thread. Abra o arquivo OlaMundo.java e siga o roteiro abaixo.

1. Primeiro, encontre as principais diferenças em relação ao programa THello.java.

2. Compile e execute o programa várias vezes, e observe os resultados impressos na tela.

Atividade 4

Objetivo: Transformar uma aplicação Java sequencial em uma aplicação concorrente.

Roteiro: O programa MultMat.java e´ um programa sequencial que implementa uma multiplicação de matrizes.   Transforme esse programa em um programa concorrente seguindo o roteiro abaixo.

1. Primeiro, compile e execute o programa original e cheque os resultados obtidos.

2. Altere o programa para que ele defina threads de execução distintas, cada uma responsável pelo cálculo de uma linha da matriz de saída.

3. Execute o programa várias vezes alterando os valores das matrizes de entrada.

Atividade 5

Objetivo: Mostrar um exemplo de aplicação com threads e memória compartilhada em

Java.

Roteiro: Abra o arquivo TIncrementoBase.java e siga o roteiro abaixo.

1. Leia o programa para entender o que ele faz. Qual saída é esperada para o programa (valor final de s)?

...

Baixar como (para membros premium)  txt (5.5 Kb)   pdf (214.7 Kb)   docx (364.6 Kb)  
Continuar por mais 3 páginas »
Disponível apenas no TrabalhosGratuitos.com