Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class BankThread
- {
- public static void main(String[] args)
- {
- Bank obj = new Bank();
- Withdrwal t1 = new Withdrwal(obj,"A1",5000); //5000
- Deposit t2 = new Deposit(obj,"A2",2000); // 7000
- Withdrwal t3 = new Withdrwal(obj,"A3",8000); // error
- Deposit t4 = new Deposit(obj,"A4",1000); // 8000
- Withdrwal t5 = new Withdrwal(obj,"A5",8000); // 0
- Deposit t6 = new Deposit(obj,"A6",2000); // 2000
- try
- {
- t1.start();
- t1.join();
- t2.start();
- t2.join();
- t3.start();
- t3.join();
- t4.start();
- t4.join();
- t5.start();
- t5.join();
- t6.start();
- t6.join();
- }
- catch(Exception e){}
- }
- }
- class Bank
- {
- int balance = 10000;
- synchronized void withdrawn(String name,int withdrawal)
- {
- if (balance >= withdrawal)
- {
- System.out.println(name + " withdrawn " + withdrawal);
- balance = balance - withdrawal;
- System.out.println("Balance after withdrawal: " + balance);
- try
- {
- Thread.sleep(1000);
- }
- catch (Exception e) { }
- }
- else
- {
- System.out.println(name + " you can not withdraw " + withdrawal);
- System.out.println("your balance is: " + balance);
- try
- {
- Thread.sleep(1000);
- }
- catch (Exception e) { }
- }
- }
- synchronized void deposit(String name, int deposit)
- {
- System.out.println(name + " deposited " + deposit);
- balance = balance + deposit;
- System.out.println("Balance after deposit: " + balance);
- try
- {
- Thread.sleep(1000);
- }
- catch (Exception e) { }
- }
- }
- class Withdrwal extends Thread
- {
- Bank object;
- String name;
- int amt;
- Withdrwal(Bank ob, String name,int money)
- {
- this.object = ob;
- this.name = name;
- this.amt = money;
- }
- public void run()
- {
- object.withdrawn(name,amt);
- }
- }
- class Deposit extends Thread
- {
- Bank object;
- String name;
- int amt;
- Deposit(Bank ob, String name,int money)
- {
- this.object = ob;
- this.name = name;
- this.amt = money;
- }
- public void run()
- {
- object.deposit(name,amt);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment