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

Relatório sobre os passos de programação paralela

Seminário: Relatório sobre os passos de programação paralela. Pesquise 862.000+ trabalhos acadêmicos

Por:   •  6/10/2013  •  Seminário  •  931 Palavras (4 Páginas)  •  353 Visualizações

Página 1 de 4

RELATÓRIO 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 processamento.

| |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 | |

...

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