반응형

Bank.java



public class Bank extends Thread {

	// 공유 변수
	static Accont obj = new Accont();
	
	// 생성자 생성
	public Bank(String name){
		super(name);
	}
	
	
	// Thread 동작 내용
	public void run(){
		
		while(true){
			synchronized (obj) {

		//100,200,300,400 중 랜덤하게 선택
		//Math.random()은 0.0 ~ 1.0 사이의 숫자중에서 랜덤한 숫자를 실수로 리턴해주는 메소드
		int money = (int)(Math.random()*3+1)*1000;
		
		if(obj.getBalence() >= money){
		System.out.println(getName()+ "의 balence "+ obj.getBalence());
		System.out.println(getName()+ "의 찾는 금액 "+ money);
		obj.withdraw(money);
		System.out.println(getName()+ "의 balence "+ obj.getBalence());
		
		}else{
			System.out.println("잔액 부족 입니다.");
			break;
				}
			}
		}
	}
}


ThreadMain3.java



public class ThreadMain3 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Bank bk1 = new Bank("ATM");
		Bank bk2 = new Bank("인터넷 뱅킹");
		
		bk1.start();
		bk2.start();

	}

}


+ Recent posts