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

작성자 없음

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

스프링 DB 1편 - 데이터 접근 핵심 원리

DataSource 적용

쓰레드 질문 있습니다.

작성

·

444

0

안녕하세요. 쓰레드 순서에 관해서 궁금증이 있습니다.

 

강의에서는 sleep()이 crud() 마지막에 위치해 있습니다. 그러나 이 때 sleep()을 crud() 맨 앞으로 위치시키면 MyPool 로그가 찍히지 않고 끝나버립니다.

 

제 생각엔 sleep 1초를 뒤가 아닌 앞에 위치시키면

  1. 메인 쓰레드가 멈춤

  2. 히카리 쓰레드가 먼저 커넥션을 10개 생성

  3. 메인 쓰레드 sleep이 끝나서, 선택할 커넥션 10개가 있는 상태로 crud() 함수 실행

이렇게 동작할 거라고 생각했는데 결과가 달라서 당황스럽습니다.

제가 아직 쓰레드 프로그래밍에 익숙치 않아서 잘 모르는 부분이 많습니다. 감사합니다.

답변 2

3

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 히카리 풀이 최초 사용 될 때 초기화되기 때문입니다.

감사합니다.

별거 아닌거지만 너무 궁금했었는데 감사합니다!

0

repository.save(member);

try {
    Thread.sleep(3000);
} catch (InterruptedException e) {
    throw new RuntimeException(e);
}

//findById
Member findMember = repository.findById(member.getMemberId());

try 문을 도중에 삽입하면 이렇게 됩니다.

16:44:35.850 [main] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection conn0: url=jdbc:h2:tcp://localhost/./db user=SA
16:44:35.852 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
16:44:35.855 [main] INFO gukjin.jdbc.repository.MemberRepositoryV1 - get connection = HikariProxyConnection@1880078449 wrapping conn0: url=jdbc:h2:tcp://localhost/./db user=SA, class = class com.zaxxer.hikari.pool.HikariProxyConnection
16:44:35.961 [HikariPool-1 housekeeper] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Pool stats (total=1, active=0, idle=1, waiting=0)
16:44:35.963 [HikariPool-1 connection adder] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection conn1: url=jdbc:h2:tcp://localhost/./db user=SA
... // 10개 생성
16:44:35.977 [HikariPool-1 connection adder] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - After adding stats (total=10, active=0, idle=10, waiting=0)
16:44:38.877 [main] INFO gukjin.jdbc.repository.MemberRepositoryV1 - get connection = HikariProxyConnection@231311211 wrapping conn0: url=jdbc:h2:tcp://localhost/./db user=SA, class = class com.zaxxer.hikari.pool.HikariProxyConnection

최초 사용과 관련이 있을까요?

작성자 없음

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

질문하기