• 카테고리

    질문 & 답변
  • 세부 분야

    기타 (개발 · 프로그래밍)

  • 해결 여부

    해결됨

싱글톤 패턴 LogWriter 예제 질문

19.09.08 10:13 작성 조회수 286

0

LogWriter.java 에서 log 메서드에 synchronized 를 붙여주지 않으면 문제가 발생할 수 있다고 설명하셨는데, 현재 로직상으로는 사실상 synchronized 가 없어도 괜찮지 않나요?

문제가 발생하는걸 눈으로 확인하고 싶은데...

답변 2

·

답변을 작성해보세요.

1

DEV MOO님의 프로필

DEV MOO

2019.09.08

감사합니다!

1

10 라인 : 변수를 하나 추가하고

24 라인 : synchronized 제거하고

31 라인 : 코드를 변경하고 실행하면 정상적이지 않은 결과가 나옵니다.

파일을 하나만 오픈해서 로그를 작성하기 때문에 파일 IO에러가 발생하진 않지만

원하던 로직의 결과가 나오진 않게 됩니다.

여기선 간단히 숫자만 증가시켰지만 어떤 추가적인 로직을 실행하고 로그에 반영한다고 할 때

정상적이지 않은 결과가 나올 수 있습니다.