조건 반복문 검토표
대기 코드는 스케줄 순서가 아니라 현재 상태 술어를 최종 판정자로 삼아야 한다.
| 검토 대상 | 위험 신호 | 교정 |
|---|---|---|
| 복귀 직후 코드 | 바로 remove 실행 | while로 재검사 |
| 대기자 수 | 둘 이상 가능 | 선점 전제 반영 |
| 종료 표현 | empty와 end 혼용 | 별도 술어 정의 |
| 테스트 단언 | 스레드별 순서 고정 | 총량과 종료 확인 |
핵심: 조건을 메서드로 이름 붙이면 복잡한 상태에서도 기다리는 이유가 선명해진다.
대기 코드는 스케줄 순서가 아니라 현재 상태 술어를 최종 판정자로 삼아야 한다.
| 검토 대상 | 위험 신호 | 교정 |
|---|---|---|
| 복귀 직후 코드 | 바로 remove 실행 | while로 재검사 |
| 대기자 수 | 둘 이상 가능 | 선점 전제 반영 |
| 종료 표현 | empty와 end 혼용 | 별도 술어 정의 |
| 테스트 단언 | 스레드별 순서 고정 | 총량과 종료 확인 |
핵심: 조건을 메서드로 이름 붙이면 복잡한 상태에서도 기다리는 이유가 선명해진다.