Advertisement
Niloy007

Java Thread Problem Slution

Feb 9th, 2020
554
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.32 KB | None | 0 0
  1. package Thread;
  2.  
  3.  
  4. class sharedResource {
  5.     int count = 0;
  6.     int value;
  7.     String name;
  8.  
  9.     synchronized void display(String name, int value) {
  10.         this.name = name;
  11.         this.value = value;
  12.         try {
  13.             count += value;
  14.             if (count < 80) {
  15.                 System.out.println("Name: " + name + " Count: " + count + " Value: " + value);
  16.             }
  17.             Thread.sleep(1000);
  18.         } catch (Exception e) {
  19.             e.printStackTrace();
  20.         }
  21.  
  22.  
  23.     }
  24. }
  25.  
  26. class Producer implements Runnable {
  27.     sharedResource sharedResource;
  28.     Thread t;
  29.     String name;
  30.     int value;
  31.  
  32.     Producer(sharedResource sharedResource, String name, int value) {
  33.         this.sharedResource = sharedResource;
  34.         this.name = name;
  35.         this.value = value;
  36.         t = new Thread(this);
  37.         t.start();
  38.     }
  39.  
  40.     @Override
  41.     public void run() {
  42.         t.setName(name);
  43.         sharedResource.display(name, value);
  44.     }
  45. }
  46.  
  47.  
  48. public class Main {
  49.     public static void main(String args[]) {
  50.         sharedResource sharedResource = new sharedResource();
  51.         Producer ob1 = new Producer(sharedResource, "One", 24);
  52.         Producer ob2 = new Producer(sharedResource, "Two", 22);
  53.         Producer ob3 = new Producer(sharedResource, "Three", 7);
  54.     }
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement