Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.List;
- import java.util.Random;
- public class Cliente extends Thread{
- int pos;
- private List<Integer> facturas;
- private List<Integer> bizcochos;
- public Cliente (List<Integer> facturas, List<Integer> bizcochos, int pos) {
- this.facturas = facturas;
- this.bizcochos = bizcochos;
- this.pos = pos;
- }
- public void run() {
- Random r = new Random();
- try {
- System.out.println("Llega el cliente n° "+pos);
- synchronized (bizcochos) {
- while(bizcochos.isEmpty()) {
- System.out.println("Cliente n° "+pos+" esperando recibir un bizcocho.");
- bizcochos.wait();
- }
- bizcochos.remove(0);
- System.out.println("El cliente n° "+pos+" tomó un bizcocho");
- }
- synchronized(facturas)
- {
- while(facturas.isEmpty()) {
- System.out.println("Cliente n° "+pos+" esperando recibir una factura.");
- facturas.wait();
- }
- facturas.remove(0);
- System.out.println("El cliente n° "+pos+" tomó una factura");
- }
- System.out.println("El cliente n° "+pos+" realiza la compra.");
- System.out.println("Cantidad de bizcochos: "+bizcochos.size());
- System.out.println("Cantidad de facturas: "+facturas.size()+"\n");
- Thread.sleep(r.nextInt(400-200)+200);
- System.out.println("El cliente n° "+pos+" se retira del local.");
- }catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement