You are on page 1of 2

private static int tam=10000;

private static int[][] matriz =new int[tam][tam];


private int fila;
public principal(int fila) {
// TODO Auto-generated constructor stub
this.fila=fila;
}

@Override
public void run() {
// TODO Auto-generated method stub
for(int i=0;i<tam;i++)
{
matriz[fila][i]*=10;
}
}

public static void main(String[] args) {


// TODO Auto-generated method stub
Random r=new Random(System.nanoTime());
for(int i = 0;i<matriz.length;i++)
{
for(int j=0;j<matriz[0].length;j++)
{
matriz[i][j]=1+r.nextInt(9);
}
}
double t_ini,t_fin;
t_ini=System.nanoTime();
ExecutorService pool=Executors.newCachedThreadPool();
for(int i =0;i<tam;i++)
{
Runnable run=new principal(i);
pool.execute(run);
}
pool.shutdown();
while(!pool.isTerminated());
/*Thread[] hilos=new Thread[tam];
for(int i=0;i<hilos.length;i++)
{
Runnable run=new principal(i);
hilos[i]=new Thread(run);
hilos[i].start();
}
for(int i=0;i<matriz.length;i++)
{
try{
hilos[i].join();
}catch(Exception e){}
}*/
t_fin=System.nanoTime()-t_ini;
System.out.println((t_fin/1000000)+" milisegundos");
/*for(int i = 0;i<matriz.length;i++)
{
for(int j=0;j<matriz[0].length;j++)
{
System.out.print(matriz[i][j]+" ");
}
System.out.println();
}*/

You might also like