I/O1 I/O 기반 코루틴: 블로킹을 피하는 우아한 방법 대부분의 애플리케이션에서 파일 읽기, 네트워크 요청, 데이터베이스 접근 등 I/O 작업은 필수적이다. 하지만 이러한 작업은 CPU를 사용하지 않으면서도 완료될 때까지 긴 시간을 대기하는 경우가 많다. 이때 스레드가 멈춰서 아무 일도 하지 못하는 상태를 바로 블로킹 I/O라고 한다. 이는 마치 요리가 완성될 때까지 다음 손님을 받지 않고 레스토랑 문을 잠가두는 것과 같다. 스레드라는 귀한 자원을 낭비하게 되고, 높은 동시성을 요구하는 환경에서는 심각한 성능 저하로 이어질 수 있다. 이러한 문제를 해결하기 위해 코루틴을 사용하면 좋다. 코루틴은 I/O 작업이 시작되는 순간 실행을 일시 중단(suspend)하고, 그 스레드를 해제하여 다른 유용한 작업을 할 수 있도록 만든다. 이후 작업이 완료되면 코루틴은 다.. 2025. 9. 4. 이전 1 다음