Вы находитесь на странице: 1из 6

TRABAJO PRCTICO N 2

CTEDRA:

Programacin Concurrente y Paralela.

PROFESOR:

AYUSA, Cristina.

TEMA:

Monitores - El Barbero.

AUTORES:

MOLLINEDO RIVADENEIRA, Bibiana. RUIZ SCOLARIS, Alfonso.

Escuela de Minas Dr. Horacio Carrillo Universidad Nacinal de Jujuy

CDIGO
CLASE BARBERO import java.lang.Thread; import java.lang.InterruptedException; public class Barbero extends Thread{ Barberia barberia; public Barbero(Barberia barberia){ this.barberia=barberia; } public void run(){ while(true){ barberia.atenderCliente(); try{ sleep(5000); } catch (InterruptedException e){ e.printStackTrace(); } System.out.println("atendio a un cliente"); } } } CLASE BARBERA import java.lang.InterruptedException; public class Barberia { int contador; public Barberia(int contador){ this.contador=contador; }

public synchronized void atenderCliente(){ if(contador==0){ try{ wait(); } catch (InterruptedException e){ e.printStackTrace();} contador++; } else if(contador>=1){ notify(); } } public synchronized void llegarCliente(){ int copia =contador; if(contador==copia){ try{ wait(); } catch (InterruptedException e){ e.printStackTrace();} contador--; } else if(contador<copia){ notify(); } } } CLASE CLIENTE import java.lang.Thread; import java.lang.InterruptedException;

public class Cliente extends Thread{ Barberia barberia; public Cliente(Barberia barberia){ this.barberia=barberia; } public void run(){ while(true){ barberia.llegarCliente(); System.out.println("llego un cliente"); } } } CLASE PRINCIPAL import java.io.IOException; public class Main { public static void main(String args[])throws IOException { Barberia barberia; Barbero barbero; Cliente cliente; barberia=new Barberia(20); cliente=new Cliente(barberia); cliente.start(); barbero=new Barbero(barberia); barbero.start(); } }

RESULTADO run: llego un cliente atendio a un cliente llego un cliente atendio a un cliente llego un cliente atendio a un cliente llego un cliente atendio a un cliente llego un cliente atendio a un cliente llego un cliente atendio a un cliente llego un cliente atendio a un cliente llego un cliente atendio a un cliente llego un cliente atendio a un cliente llego un cliente atendio a un cliente llego un cliente atendio a un cliente llego un cliente atendio a un cliente llego un cliente atendio a un cliente llego un cliente atendio a un cliente llego un cliente

atendio a un cliente llego un cliente atendio a un cliente llego un cliente atendio a un cliente llego un cliente atendio a un cliente llego un cliente atendio a un cliente llego un cliente atendio a un cliente

Вам также может понравиться