개인 프로젝트를 개선하는 과정을 기록한 글입니다!1. 서론Kori 에 추가할 기능을 위해, 외부에서 제공하는 API를 바탕으로 데이터를 주기적으로 업데이트하는 기능을 개발하고 있다. 그런데, I/O가 많은 작업을 싱글스레드에서 동기방식으로 처리하는 것이 비효율적이라고 느꼈다. 이번 포스트에서는 스레드 풀을 활용한 멀티 스레드를 도입하여 작업 처리 속도를 개선한 과정을 정리하고자 한다. 1.1 Non-blocking I/O VS Multi-threading싱글스레드에서 동기방식으로 I/O 작업을 처리하면, 해당 작업이 완료될 때까지 실행중인 스레드는 대기 상태가 된다.즉, CPU는 아무런 연산을 하지 못한채 I/O가 마무리될때까지 기다리게 되므로 CPU를 낭비하는 문제가 발생한다.이를 개선하기 위해 대표적..