aakash2310

BankThread

Feb 18th, 2022
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.85 KB | None | 0 0
  1. class BankThread
  2. {
  3.     public static void main(String[] args)
  4.     {
  5.         Bank obj = new Bank();
  6.         Withdrwal t1 = new Withdrwal(obj,"A1",5000); //5000
  7.         Deposit t2 = new Deposit(obj,"A2",2000); // 7000
  8.         Withdrwal t3 = new Withdrwal(obj,"A3",8000); // error
  9.         Deposit t4 = new Deposit(obj,"A4",1000); // 8000
  10.         Withdrwal t5 = new Withdrwal(obj,"A5",8000); // 0
  11.         Deposit t6 = new Deposit(obj,"A6",2000); // 2000
  12.         t1.start();
  13.         t2.start();
  14.         t3.start();
  15.         t4.start();
  16.         t5.start();
  17.         t6.start();
  18.     }
  19. }
  20. class Bank
  21. {
  22.     int balance = 10000;
  23.     synchronized void withdrawn(String name,int withdrawal)
  24.     {
  25.         if (balance >= withdrawal)
  26.         {
  27.             System.out.println(name + " withdrawn " + withdrawal);
  28.             balance = balance - withdrawal;
  29.             System.out.println("Balance after withdrawal: " + balance);
  30.             try
  31.             {
  32.                 Thread.sleep(1000);
  33.             }
  34.             catch (Exception e) {   }
  35.  
  36.         }
  37.         else
  38.         {
  39.             System.out.println(name + " you can not withdraw " + withdrawal);
  40.             System.out.println("your balance is: " + balance);
  41.             try
  42.             {
  43.                 Thread.sleep(1000);
  44.             }
  45.             catch (Exception e) {  }
  46.         }
  47.     }
  48.     synchronized void deposit(String name, int deposit)
  49.     {
  50.         System.out.println(name + " deposited " + deposit);
  51.         balance = balance + deposit;
  52.         System.out.println("Balance after deposit: " + balance);
  53.         try
  54.         {
  55.             Thread.sleep(1000);
  56.         }
  57.         catch (Exception e) {  }
  58.     }
  59. }
  60. class Withdrwal extends Thread
  61. {
  62.     Bank object;
  63.     String name;
  64.     int amt;
  65.  
  66.     Withdrwal(Bank ob, String name,int money)
  67.     {
  68.         this.object = ob;
  69.         this.name = name;
  70.         this.amt = money;
  71.     }
  72.     public void run()
  73.     {
  74.         object.withdrawn(name,amt);
  75.     }
  76. }
  77. class Deposit extends Thread
  78. {
  79.     Bank object;
  80.     String name;
  81.     int amt;
  82.     Deposit(Bank ob, String name,int money)
  83.     {
  84.         this.object = ob;
  85.         this.name = name;
  86.         this.amt = money;
  87.     }
  88.     public void run()
  89.     {
  90.         object.deposit(name,amt);
  91.     }
  92. }
  93.  
Advertisement
Add Comment
Please, Sign In to add comment