ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Programas De Hilos


Enviado por   •  3 de Mayo de 2015  •  863 Palabras (4 Páginas)  •  257 Visitas

Página 1 de 4

Fundamento teórico

A veces necesitamos que nuestro programa realice varias cosas simultáneamente. Para conseguir que haga varias cosas a la vez o que el programa no se quede parado mientras realiza una tarea compleja, tenemos los hilos (Threads), lo cual podemos ejecutar para realizar diferentes tareas al mismo tiempo y así poder ahorrar tiempo, por lo tanto los hilos nos ayudan a terminar una tarea más pronto.

Hoy en día los sistemas operativos son multi-tarea lo cual facilita al usuario poder realizar varias actividades al mismo tiempo, ya que los ordenadores de antes solo eran mono-tarea eso quiere decir que el usuario solo podía realizar una tarea y para poder realizar otra tenía que acabar la primer tarea que estaba realizando.

Desarrollo

/*Clase donde tiene el main*/

public class ProducerConsumer{

public static void main(String[] args) {

/*Se crea un objeto dela clase sincronizar para colocar como parámetro a los hilos y así ellos poder acceder a los recursos que tiene la clase*/

Sincronizar s = new Sincronizar();

/*Se crean los hilos del productor y consumidor los cuales cada hilo de productor representara la suma de un renglón del array y el consumidor tendrá la acción de imprimir en un arreglo la suma de los renglones a los hilos de tienen la función de producir se les coloca un número como nombre y para poder utilizar ese número como el renglón que le toca en el array*/

Producer p1 = new Producer(s, 0);

Producer p2 = new Producer(s, 1);

Producer p3 = new Producer(s, 2);

Producer p4 = new Producer(s, 3);

Producer p5 = new Producer(s, 4);

Consumer c1 = new Consumer(s);

/*El método start() manda a llamar el método run() para que el hilo pueda hacer su función programada*/

p1.start();

p2.start();

p3.start();

p4.start();

p5.start();

c1.start();

}

}

/*Clase de productor*/

public class Producer extends Thread{

/*Se declaran las variables y el arreglo ya llenado*/

int matriz[][]={ {5,10,15,20,25}, {6,12,18,24,30},

{7,14,21,28,35}, {8,16,24,32,40},

{9,18,27,36,45}};

int i, j, suma;

Sincronizar sincro;

/*En el método constructor se reciben los parámetros como son la el objeto de la clase sincronizar y un número para identificar cual productor es y al mismo tiempo ese número tomarlo como el renglón para poder realizar su suma*/

public Producer(Sincronizar c, int renglon){

sincro = c;

this.i = renglon;

j=0;

}

/*En el método run es donde se programa lo que queramos que el hilo realice en este programa el

...

Descargar como (para miembros actualizados) txt (4 Kb)
Leer 3 páginas más »
Disponible sólo en Clubensayos.com