12장 동기화 강의
242
작성한 질문수 2
코드는 스레드 객체 에서 java.lang만 빼고 똑같은데 결과가 왜 10이 넘는 숫자가 나오나요? java.lang에 영향인가요
답변 2
1
room.clean("직원 1");이라고 띄어쓰기가 들어가서 그런 것 같네요 ^^
그러다보니 숫자 1 과 함께 출력되어서 11, 12 처럼 보이는 것입니다. 지금 코드에서는 다음과 같이 코드를 바꿔보시면 되겠네요. 직원2 도 동일하게 해주시구요.
room.clean("직원1 ");
0
안녕하세요?
의도하지 않은 동작이 수행된 것 같아요. 작성하신 코드 전체를 적어주시면 확인 후 도움 드리겠습니다 😊
감사합니다.
0
package chap_12;
import chap_12.clean.Room;
public class _05_Synchronization {
public static void main(String[] args) {
//방 순서 대로 청소
Room room = new Room();
Runnable cleaner1 = new Runnable() {
@Override
public void run() {
System.out.println("직원1 청소 시작");
for (int i = 1; i <= 5; i++) {
room.clean("직원 1");
}
System.out.println("---직원1 청소 완료---");
}
};
Runnable cleaner2 =() -> {
System.out.println("직원2 청소 시작");
for (int i = 1; i <= 5; i++) {
room.clean("직원 2");
}
System.out.println("---직원2 청소 완료---");
};
java.lang.Thread cleanThread1 = new java.lang.Thread(cleaner1);
java.lang.Thread cleanThread2 = new java.lang.Thread(cleaner2);
cleanThread1.start();
cleanThread2.start();
}
}
자바를 처음 배울 때 이런 고민이 드는 게 정상일까요?
1
145
2
static이 뭐였는지 기억이 안나요 ㅜㅜ
0
118
2
Iterator (알 수 없음) 데이터 삭제 후 초기화 관련 문의
0
70
1
사고력 키우는 법이 어떤게 있나요?
0
93
2
getter setter
0
101
2
섹션9. 66 메소드 오버로딩 시 질문이 있습니다.
0
79
1
안녕하세요 갑자기 프로그램 에러가 떠서 안되네요
0
75
2
변수 이름짓는법
0
114
2
intelli J 실행오류
0
114
2
혹시 이건 수학적 사고가 부족한 걸까요?
0
152
2
영상이 재생이 안됩니다.
0
167
3
이중 반복문 (후반전) 오른쪽으로 치우친 별 쌓기에 질문이 있습니다.
0
116
2
응용이 어렵습니다.
0
206
2
IntelliJ가 보이지 않습니다.
0
185
3
JDK 버전 문의
0
128
2
BlackBox 파일 내에서 메소드 정의
0
136
1
동기화
0
120
2
Iterator 문의
0
104
1
코드 순서 문의
0
141
1
클래스 메소드
0
149
2
Quiz_05 관련 질문드립니다 !
0
118
2
다운로드가 안됩니다
0
165
2
다형성
0
120
2
HashMap
0
80
2







왜 1번방이 아니라 11번부터 시작할까요? 코드도 맞게 적었는데 ㅠㅠ