Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package threads;
- import java.util.logging.Level;
- import java.util.logging.Logger;
- public class BankAccountRescuer extends BankAccountUser{
- public BankAccountRescuer(String name, BankAccount account, int[] transactions, BankAccountUser[] user) {
- super(name, account, transactions = null);
- this.users = user;
- }
- @Override
- public void run() {
- while(allFinished() != true){
- if(allWaiting() == true){
- getAccount().deposit(100, this);
- }
- try {
- Thread.sleep((int)(Math.random() * 100));
- } catch (InterruptedException ex) {
- Logger.getLogger(BankAccountUser.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- }
- private boolean allFinished(){
- int x = 0;
- for (BankAccountUser user : users) {
- if (user.getTransactionsRemaining() == 1) {
- x++;
- }
- }
- if(x == users.length) return true;
- else return false;
- }
- private boolean allWaiting(){
- int x = 0;
- for (BankAccountUser user : users) {
- if (user.isWaiting() == true) {
- x++;
- }
- }
- if(x == users.length) return true;
- else return false;
- }
- //private BankAccount account;
- private final BankAccountUser[] users;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement