Advertisement
Guest User

Untitled

a guest
Jan 26th, 2020
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.48 KB | None | 0 0
  1. // Łukasz Karasiński
  2. // 206104
  3. // Krdzis3011Io
  4. // 25.01.2020
  5.  
  6. import java.util.concurrent.Semaphore;
  7.  
  8. class Queue {
  9. int item;
  10.  
  11. // pobranie z buforu
  12. void get()
  13. {
  14. // Konsument konsumuje
  15. System.out.println("Konsument skonsumował : " + item);
  16. }
  17.  
  18. void put(int item)
  19. {
  20. // Producent produkuje
  21. this.item = item;
  22.  
  23. System.out.println("Producent wyprodukował: " + item);
  24. // Po produkcji przez Producenta, powiadamia Konsumenta o możliwości dostępu
  25. }
  26. }
  27.  
  28. class Producer implements Runnable {
  29. Queue queue;
  30. Producer(Queue queue)
  31. {
  32. this.queue = queue;
  33. new Thread(this, "Producer").start();
  34. }
  35.  
  36. public void run()
  37. {
  38. for (int i = 0; i < 5; i++)
  39. // Producent dodaje przedmiot
  40. queue.put(i);
  41. }
  42. }
  43.  
  44. class Consumer implements Runnable {
  45. Queue queue;
  46. Consumer(Queue queue)
  47. {
  48. this.queue = queue;
  49. new Thread(this, "Consumer").start();
  50. }
  51.  
  52. public void run()
  53. {
  54. for (int i = 0; i < 5; i++)
  55. // Konsument otrzymuje przedmiot
  56. queue.get();
  57. }
  58. }
  59.  
  60. class ProducerConsumer {
  61. public static void main(String args[])
  62. {
  63. // Tworzenie kolejki bofora
  64. Queue queue = new Queue();
  65.  
  66. // Uruchomienie wątku Konsumenta
  67. new Consumer(queue);
  68.  
  69. // Uruchomienie wątku Producenta
  70. new Producer(queue);
  71. }
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement