강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

김영한의 실전 자바 - 중급 2편

직접 구현한 리스트의 성능 비교

성능 비교 비동기 처리돼요 이상해요

작성

·

129

0

image.png

비동기 처리돼요

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

재영님께서 첨부해 주신 이미지와 증상에 대한 설명을 통해, Java의 리스트 구현을 통한 성능 비교 테스트에서 예상치 못한 비동기 처리가 이뤄져 결과가 다르게 나타난다는 문제를 말씀하셨습니다. 이와 관련된 몇 가지 팁을 드리자면:

  1. 비동기적으로 실행되는 이유: 테스트 코드가 비동기로 실행되는 경우는 단독으로 실행되지 않고, 다른 프로세스나 스레드에 의해 영향을 받는 경우가 많습니다. Java에서는 프레임워크나 라이브러리에 따라 자동으로 비동기 실행을 포함하는 경우가 있을 수 있습니다.

  2. 스레드 관리: JUnit과 같은 테스트 라이브러리를 사용 중이라면, 모든 테스트가 단일 스레드에서 수행되도록 설정이 돼 있는지 확인해 주세요. 이를 위해 @BeforeEach@Test 어노테이션을 제대로 사용하고 있는지, @Async와 같은 비동기 처리 어노테이션이 사용되지 않는지를 점검해야 합니다.

  3. 스크린샷에 나타난 코드: 성능 측정 코드를 체크할 때는, 각 리스트(MyArrayList, MyLinkedList)에 대한 연산이 순차적으로 진행되고 있는지 검사해 주세요. 예시 코드에서 각 연산의 실행 시간이 크게 차이가 나지 않는다면, 비동시성 문제가 아닐 수도 있습니다.

비슷한 문제에 대해 조언을 드린 페이지가 있어 공유드립니다. 이 링크들에서 서로 다른 비동기 처리와 관련된 해결 방법을 확인하실 수 있습니다:
- 테스트코드 컴파일 실행 속도 질문입니다!
- @BeforeEach 에러

이외에도 특정 코드에 대한 디버깅이 필요하다면, 해당 코드를 몇 부분 공개하여 어떤 블록이 비동기적으로 처리되는지를 점검해 보시기 바랍니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기