티스토리 뷰
package main;
public
class Main {
public static void main(String[] args) {
// TODO 황금알 예제
ShareArea share = new ShareArea(); //공유공간 생성자로 가져오고
Thread1 th1 = new Thread1(); //알 회수 스레드 가져오고
th1.share = share;
Thread2 th2 = new Thread2(); //알낳는 거위 스레드 가져오고
th2.share = share;
th1.start();
th2.start();
}
}
package main;
public class ShareArea {
int num;
}
package main;
import java.util.Scanner;
public class Thread1 extends Thread { //거위알 뺏어오기
ShareArea share; //공유공간 가져오고
@Override
public void run() {
int total =0;
Scanner scan = new Scanner(System.in);
while(true){
scan.nextLine();//엔터치면
synchronized(share) { //싱크로나이즈: 동시진행되는 다른 작업 대기하세요~
total += share.num; // 회수한 거위알 수를 계속 더해줌
share.num=0;//공유공간의 num은 일단 0으로 시작
System.out.println("거위알 회수 중...");
try {
Thread.sleep(7000); // 7초동안 회수
}catch(InterruptedException e) {
e.printStackTrace();
}
System.out.println("현재 거위알 수:"+total);
}
}
}
}
'JAVA' 카테고리의 다른 글
JSP_BookProject (0) | 2020.11.16 |
---|---|
랜덤으로 공 튀기기_AWT (0) | 2020.09.03 |
Sep2_프레임창 화면 중앙에 위치시키기(AWT, JFrame) (0) | 2020.09.03 |
Sep1_ Runnable (0) | 2020.09.01 |
파일저장_Stream (0) | 2020.08.31 |
댓글