728x90
반응형
참고 링크
[Java] 자바 Thread(스레드) 사용법 & 예제 (tistory.com)
[Java] 자바 Thread(스레드) 사용법 & 예제
Thread란? 하나의 프로세스 내부에서 독립적으로 실행되는 하나의 작업 단위를 말하며, 세부적으로는 운영체제에 의해 관리되는 하나의 작업 혹은 태스크를 의미합니다. 스레드와 태스크(혹은 작
coding-factory.tistory.com
public class ATM implements Runnable {
private long depositeMoney = 10000;
public void run() {
synchronized (this) {
for (int i = 0; i<10; i++) {
notify();
try {
wait();
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
if(getDepositeMoney() <= 0)
break;
withDraw(1000);
}
}
}
public void withDraw(long howMuch) {
if(getDepositeMoney() > 0) {
depositeMoney -= howMuch;
System.out.print(Thread.currentThread().getName()+", ");
System.out.printf("잔액 : %,d 원 %n",getDepositeMoney());
} else {
System.out.print(Thread.currentThread().getName()+", ");
System.out.println("잔액이 부족합니다.");
}
}
public long getDepositeMoney() {
return depositeMoney;
}
}
class SynchronizeEX {
public static void main(String[] agrs) {
ATM atm = new ATM();
Thread mother = new Thread(atm,"mother");
Thread son = new Thread(atm, "son");
mother.start();
son.start();
}
}
728x90
반응형