코드 그라데이션
후발대 22일차 설명 추가(thread) 본문
정답 코드는 다음과 같다.
package Prac20;
// A 상품 준비 1/5
// B 상품 준비 2/5
// ...
// -- A 상품 준비 완료 --
// -- B 상품 준비 완료 --
// == 세트 상품 포장 시작 ==
// 세트 상품 포장 1/5
// ...
// == 세트 상품 포장 완료 ==
public class Prac20 {
public static void main(String[] args) {
Runnable runnableA = () -> {
for (int i = 1; i <=5 ; i++) {
System.out.println("A 상품 준비 " + i + "/5");
};
System.out.println(" -- A 상품 준비 완료 -- ");
};
Runnable runnableB = () -> {
for (int i = 1; i <=5 ; i++) {
System.out.println("B 상품 준비 " + i + "/5");
};
System.out.println(" -- B 상품 준비 완료 -- ");
};
Thread threadA = new Thread(runnableA);
Thread threadB = new Thread(runnableB);
threadA.start();
threadB.start();
try {
threadA.join(); 기다리기
threadB.join();
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
Runnable runnableSet = () -> {
System.out.println("== 세트 상품 포장 시작 ==");
for (int i = 1; i <=5 ; i++) {
System.out.println("세트 상품 포장 " + i + "/5");
};
System.out.println("== 세트 상품 포장 완료 == ");
};
Thread threadSet = new Thread(runnableSet);
threadSet.start();
}
}
/**
* Runnable 객체 3개 만들었다.
*/
그런데, 기다리기 방법이 하나 더 있다.
바로,
public class Prac20 {
public static void main(String[] args) {
Runnable runnableA = () -> {
for (int i = 1; i <=5 ; i++) {
System.out.println("A 상품 준비 " + i + "/5");
};
System.out.println(" -- A 상품 준비 완료 -- ");
};
Runnable runnableB = () -> {
for (int i = 1; i <=5 ; i++) {
System.out.println("B 상품 준비 " + i + "/5");
};
System.out.println(" -- B 상품 준비 완료 -- ");
};
Thread threadA = new Thread(runnableA);
Thread threadB = new Thread(runnableB);
threadA.start();
threadB.start();
while (threadA.isAlive() || threadB.isAlive()) {
}
Runnable runnableSet = () -> {
System.out.println("== 세트 상품 포장 시작 ==");
for (int i = 1; i <=5 ; i++) {
System.out.println("세트 상품 포장 " + i + "/5");
};
System.out.println("== 세트 상품 포장 완료 == ");
};
Thread threadSet = new Thread(runnableSet);
threadSet.start();
}
}
while (threadA.isAlive() || threadB.isAlive()) {
}
돌고 있는지를 검사하는 것.
728x90
'Java > 후발대' 카테고리의 다른 글
후발대 22일차(2), 23일차 설명 추가 (파일 입출력 이론) (0) | 2023.04.21 |
---|---|
후발대 22일차(2), 23일차 전체 코드 (0) | 2023.03.19 |
후발대 22일차 Quiz (0) | 2023.03.07 |
후발대 22일차(1) 전체 코드 (0) | 2023.03.07 |
후발대 21일차 설명 추가 (0) | 2023.03.04 |
Comments