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

ATPS de Programação Concorrente

Por:   •  6/4/2015  •  Trabalho acadêmico  •  1.166 Palavras (5 Páginas)  •  237 Visualizações

Página 1 de 5

[pic 1]

ANHANGUERA EDUCACIONAL

CURSO: CIÊNCIAS DA COMPUTAÇÃO

ATPS de Programação Concorrente

                               Lucas Godoi Marucho        R.A: 1151387342

                               Vinicius Peruck                R.A: 2507415387

                               Wesley Godoy                R.A: 2559456568        

Limeira – SP

2013

Lucas Godoi Marucho

Vinicius Peruck

Wesley Godoy

ATPS de Programação Concorrente

Trabalho de pesquisa apresentado como exigência parcial do curso de Ciências Da Computação a Anhanguera Educacional, sob orientação do Professor  Me. Vitor Chaves.

Limeira – SP

2013

Conteúdo

Etapa 1        

Classe nomeada como Principal        

Tabelas comparativas, quantidades de Threads e seus Tempos de Processamentos.        

Etapa 2        

Classe nomeada como classe Principal        

Classe nomeada como classe Consumidor        

Classe nomeada como classe Produtor        

Classe nomeada como classe Pedido        

Tabela comparativa com quantidades de Threads, números de processos e média geral.        

Etapa 3 e 4        

Bibliografia:        

Etapa 1

Código fonte desenvolvido para a etapa 1, passos 1, 2, 3 e 4 da ATPS de Programação Concorrente.

Classe nomeada como Principal

package atpsEtapa1;

import java.util.ArrayList;

import java.util.List;

import java.util.logging.Level;

import java.util.logging.Logger;

Public Class Principal extends Thread{

static List lista = new ArrayList();

@Override

public void run(){

while(!lista.isEmpty()){

Numero pedido = lista.get(0);

lista.remove(pedido);

try {

sleep(1000);

System.out.println(Thread.currentThread().getName() + " - "+ pedido.getValor()+" valor consumido");

} catch (InterruptedException m) {

Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, m);

}

}

}

public static void main(String[] args) throws InterruptedException {

for (int i = 0; i < 5000; i++) {

lista.add(new Numero(i,"descricao "+i));

}

//marca o início do tempo de execução

long inicio = System.nanoTime() / 1000000;//quantidade de threads a serem criadas, conforme especificar

Principal[] threads = new Principal[500];

for (int i = 0; i < threads.length; i++) {

threads[i] = new Principal();

threads[i].setName("Thread: "+i);

threads[i].start();

}

for (int i = 0; i < threads.length; i++) {

threads[i].join();

}

//imprimi o tempo final do processo

long fim = System.nanoTime() / 1000000;

System.out.println("Tempo Total Processado: " + (fim - inicio) + " ms");

}

}

Classe nomeada como Número

package atpsEtapa1;

public class Numero {

private int valor;

private String nome;

Numero(int valor, String nome) {

this.setValor(valor);

this.setNome(nome);

}

public void setValor(int valor) {

this.valor = valor;

}

public int getValor() {

return valor;

}

public void setNome(String nome) {

this.nome = nome;

}

public String getNome() {

return nome;

}

}

Tabelas comparativas, quantidades de Threads e seus Tempos de Processamentos.

1 Thread minutos 10 Threads minutos

5039747 83,9 501000 8,3

5026842 83,7 501016 8,3

5000718 83,3 501123 8,3

5000016 83,3 501238 8,3

5000015 83,3 501170 8,3

5006750 83,4 501104 8,3

5004068 83,4 500032 8,3

5001032 83,3 501030 8,3

5027081 83,7 501047 8,3

5038652 83,9 501132 8,3

média tempo em milisegundos 5014492 500989

média tempo em minutos 83,52 8,30

50 Threads minutos 100 Threads minutos

101499 1,6 51764 0,8

101925 1,6 51769 0,8

101015 1,6 50765 0,8

101403 1,6 51760 0,8

101046 1,6 51772 0,8

101013 1,6 50789 0,8

101016 1,6 50780 0,8

101035 1,6 51761 0,8

101010 1,6 50783 0,8

101043 1,6 50757 0,8

média tempo em milisegundos 101201 51270

média tempo em minutos 1,60 0,80

500 Threads minutos 1000 Threads minutos

11001 0,1 6002 0,1

10244 0,1 6089 0,1

10228 0,1 5309 0,08

11005 0,1 5278 0,08

10228 0,1 5393 0,08

11005 0,1 5309 0,08

10224 0,1 5293 0,08

11003 0,1 6104 0,1

10243 0,1 5310 0,08

11004 0,1 6008 0,1

média tempo em milisegundos 10619 5610

média tempo em minutos 0,10 0,09

* Gráfico geral, tempo em milissegundos.

Etapa 2

Código fonte desenvolvido para a etapa 2, passos 1, 2, 3 e 4 da ATPS de Programação Concorrente.

...

Baixar como (para membros premium)  txt (10.4 Kb)   pdf (222.4 Kb)   docx (66.2 Kb)  
Continuar por mais 4 páginas »
Disponível apenas no TrabalhosGratuitos.com