Advertisement
Guest User

Untitled

a guest
Mar 26th, 2019
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.02 KB | None | 0 0
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement