더북(TheBook)

이뿐만 아니라 동시성을 활용해 지연 시간이 드러나지 않게 할 수도 있다. 예를 들어 우리가 전화를 기다리거나 지하철로 이동할 때 그냥 앉아서 기다리는 대신 그동안 다른 일(이를테면 이메일을 확인)을 하는 것과 같은 이치다. 이런 식으로 대기하는 시간을 잘 활용해 동시에 여러 가지 작업을 하면서 지연 시간이 겉으로 드러나지 않게 할 수 있다. 지연 시간을 감추는 것은 반응형 시스템의 핵심이며, 지연 시간을 개선하기 위한 수단이 된다.

따라서 동시성을 사용하면 다음 세 가지 방법으로 시스템 성능을 개선할 수 있다.

• 지연 시간 줄이기(한 가지 작업을 더 빨리 처리하기)

• 지연 시간 숨기기(지연 시간이 긴 작업 중에 다른 일을 함께 처리하기)

• 처리율 개선하기(같은 시간 동안 시스템이 더 많은 작업을 처리하게 된다)

지금까지 동시성이 시스템 성능에 영향을 미치는 한 가지 사례를 살펴보았다. 1장 앞부분에서 우리 주변의 복잡한 현상을 모델링하는 데도 동시성이 필요하다고 설명했다. 이렇듯 계산적으로 크고 복잡한 문제를 해결하는 데 동시성이 도움을 주는 다른 사례를 알아보자.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.