Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Deposito {
- private int items=0;
- private final int capacidade=10;
- public int retirar() {
- if(items>0) {
- items--;
- System.out.println("caixa retirada: existem "+items+" caixas");
- return 1;
- }
- return 0;
- }
- public int colocar() {
- if(items<capacidade) {
- items++;
- System.out.println("caixa armazenada: existem "+items+" caixas");
- return 1;
- }
- return 0;
- }
- public int getItems() {
- return this.items;
- }
- public int getCapacidade() {
- return this.capacidade;
- }
- public static void main(String[] args) {
- Deposito dep = new Deposito();
- Produtor produtor = new Produtor(dep, 2);
- Consumidor consumidor = new Consumidor(dep, 1);
- produtor.produzir();
- consumidor.consumir();
- System.out.println("Fim da execucao de Deposito::main");
- }
- }
- class Produtor {
- private Deposito deposito;
- private int tempo;
- public Produtor(Deposito deposito, int tempo) {
- System.out.println("criou o produtor");
- this.deposito = deposito;
- this.tempo = tempo;
- }
- public void produzir() {
- for(int i = 0; i < 1000; i++) {
- while(deposito.getItems() >= deposito.getCapacidade()) {
- // wait(100);
- System.out.println("esperando retirar");
- }
- this.deposito.colocar();
- }
- }
- }
- class Consumidor {
- private Deposito deposito;
- private int tempo;
- public Consumidor(Deposito deposito, int tempo) {
- System.out.println("criou o consumidor");
- this.deposito = deposito;
- this.tempo = tempo;
- }
- public void consumir() {
- for(int i = 0; i < 1000; i++) {
- while(deposito.getItems() <= 0) {
- // wait(100);
- System.out.println("esperando colocar");
- }
- this.deposito.retirar();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement