반응형
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();
}
}
'JAVA > Java' 카테고리의 다른 글
| [JAVA] File 객체 사용 (0) | 2014.11.18 |
|---|---|
| [JAVA] Frame 을 이용한 window 모양 만들기 (0) | 2014.11.18 |
| [JAVA] Thread 을 이용한 5초후 인터럽트 발생 예제 (0) | 2014.11.18 |
| [JAVA] Thread 로 0.5초마다 숫자를 증가시키고 Thread이름을 출력 (0) | 2014.11.18 |
| [JAVA] thread 사용하여 증가시키는 예 (0) | 2014.11.18 |