Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Łukasz Karasiński
- // 206104
- // Krdzis3011Io
- // 25.01.2020
- import java.util.concurrent.Semaphore;
- class Queue {
- int item;
- // pobranie z buforu
- void get()
- {
- // Konsument konsumuje
- System.out.println("Konsument skonsumował : " + item);
- }
- void put(int item)
- {
- // Producent produkuje
- this.item = item;
- System.out.println("Producent wyprodukował: " + item);
- // Po produkcji przez Producenta, powiadamia Konsumenta o możliwości dostępu
- }
- }
- class Producer implements Runnable {
- Queue queue;
- Producer(Queue queue)
- {
- this.queue = queue;
- new Thread(this, "Producer").start();
- }
- public void run()
- {
- for (int i = 0; i < 5; i++)
- // Producent dodaje przedmiot
- queue.put(i);
- }
- }
- class Consumer implements Runnable {
- Queue queue;
- Consumer(Queue queue)
- {
- this.queue = queue;
- new Thread(this, "Consumer").start();
- }
- public void run()
- {
- for (int i = 0; i < 5; i++)
- // Konsument otrzymuje przedmiot
- queue.get();
- }
- }
- class ProducerConsumer {
- public static void main(String args[])
- {
- // Tworzenie kolejki bofora
- Queue queue = new Queue();
- // Uruchomienie wątku Konsumenta
- new Consumer(queue);
- // Uruchomienie wątku Producenta
- new Producer(queue);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement