SHARE
TWEET

Untitled

a guest Mar 26th, 2019 58 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. public class Deposito {
  2.     private int items=0;
  3.     private final int capacidade=10;
  4.    
  5.     public int retirar() {
  6.         if(items>0) {
  7.             items--;
  8.             System.out.println("caixa retirada: existem "+items+" caixas");
  9.             return 1;
  10.         }
  11.         return 0;
  12.     }
  13.    
  14.     public int colocar() {
  15.         if(items<capacidade) {
  16.             items++;
  17.             System.out.println("caixa armazenada: existem "+items+" caixas");
  18.             return 1;
  19.         }
  20.         return 0;
  21.     }
  22.    
  23.     public int getItems() {
  24.         return this.items;
  25.     }
  26.    
  27.     public int getCapacidade() {
  28.         return this.capacidade;
  29.     }
  30.    
  31.     public static void main(String[] args) {
  32.         Deposito dep = new Deposito();
  33.         Produtor produtor = new Produtor(dep, 2);
  34.         Consumidor consumidor = new Consumidor(dep, 1);
  35.        
  36.         produtor.produzir();
  37.         consumidor.consumir();
  38.        
  39.         System.out.println("Fim da execucao de Deposito::main");
  40.     }
  41. }
  42.  
  43.  class Produtor {
  44.     private Deposito deposito;
  45.     private int tempo;
  46.    
  47.     public Produtor(Deposito deposito, int tempo) {
  48.         System.out.println("criou o produtor");
  49.         this.deposito = deposito;
  50.         this.tempo = tempo;
  51.     }
  52.    
  53.     public void produzir() {
  54.         for(int i = 0; i < 1000; i++) {
  55.             while(deposito.getItems() >= deposito.getCapacidade()) {
  56.                 // wait(100);
  57.                 System.out.println("esperando retirar");
  58.             }
  59.             this.deposito.colocar();
  60.         }
  61.     }
  62. }
  63.  
  64. class Consumidor {
  65.     private Deposito deposito;
  66.     private int tempo;
  67.    
  68.     public Consumidor(Deposito deposito, int tempo) {
  69.         System.out.println("criou o consumidor");
  70.         this.deposito = deposito;
  71.         this.tempo = tempo;
  72.     }
  73.    
  74.     public void consumir() {
  75.         for(int i = 0; i < 1000; i++) {
  76.             while(deposito.getItems() <= 0) {
  77.                 // wait(100);
  78.                 System.out.println("esperando colocar");
  79.             }
  80.             this.deposito.retirar();
  81.         }
  82.     }
  83. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top