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

Programação concorrente

Por:   •  6/5/2015  •  Trabalho acadêmico  •  750 Palavras (3 Páginas)  •  206 Visualizações

Página 1 de 3

Etapa 1

Código Fonte:

Classe Principal

package atpsetapa1;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileWriter;

import java.io.IOException;

import java.io.PrintWriter;

import java.io.Writer;

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 = (Numero) lista.get(0);

lista.remove(pedido);

try {

sleep(1000);

File arquivo = new File("teste_arquivo_1000.txt");

try( FileWriter fw = new FileWriter(arquivo,true) ){

fw.write("\n"+Thread.currentThread().getName() + " - "+ pedido.getValor()+" valor consumido");

fw.flush();

fw.close();

} catch(IOException ex){

System.out.println("Erro ao gravar");

}

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

{

//Aqui muda o numero de Thread

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[1000];

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

threads[i] = new Principal();

threads[i].setName("Thread:

...

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