• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

blockingXXXX 함수들은 테스트용도로만 사용하는건가요?

20.12.29 14:12 작성 조회수 91

2

안녕하세요!

강의를 보다가 고민없이 생겨난 궁금증인데...

blockingXXXX 함수들은 다 테스트 용도로만 사용하는 건가요? 아니면 실제 서비스에서도 사용될 수 있는건가요?

답변 1

답변을 작성해보세요.

2

규봉님, 안녕하세요? 질문 하신 부분에 대해서 답변을 드리겠습니다. 

blockingXXXX 함수들을 오로지 테스트 전용으로만 사용할 수 있는것은 아닙니다.

실제 서비스의 로직에서도 사용을 할 수 있습니다. 저희도 실제로 사용을 했었구요.

나중에 새로운 강의에서도 언급을 드릴텐데요. RxJava 등의 리액티브 프로그래밍은 Non-blocking 통신이 주목적인데 함수 이름에서도 느껴지시다시피 blockingXXXX 함수들은 blocking이 되는 API이고 따라서 현재 쓰레드를 차단하기때문에 Non-blocking 통신과 어울리지 않아서 실제 비지니스 로직에 사용하는것을 지양하고 있습니다.

요약하자면, 테스트와 가장 어울리기때문에 테스트에서 사용하는것이고 실제 서비스 로직에서도 사용가능하나 가급적 사용을 지양하는것이 낫다가 되겠네요.

Fully Non-blocking 한 애플리케이션을 만들 목적이라면 절대 사용해서는 안되겠습니다.

답변이 되셨나 모르겠네요. 궁금한거 있으시면 언제든지 질문 주세요.

감사합니다.