병렬 처리 모델은 모두 IO 작업에 최적화되어 있다 (CPU 바운드 작업을 조심하자)
들어가며현대 개발에서는 동시성과 병렬성을 고려하지 않고 시스템을 설계하기 어렵다.이 때문에 많은 언어와 프레임워크가 효율적인 병렬 처리 방식을 제공하고 있다.대표적으로 다음과 같은 모델들이 있다: Java의 가상 스레드Kotlin의 코루틴Reactive ProgrammingGo의 고루틴(Goroutine)이들 각각은 스타일과 구현은 다르지만, 공통된 목표를 가지고 있다.바로, IO 작업을 효율적으로 처리하는 것이다. IO 바운드 작업에 강한 병렬 모델들IO 작업(예: DB 쿼리, 파일 읽기, 외부 API 호출 등)은 대기 시간이 길다.전통적인 스레드 기반 구조에서는 IO 대기 중에도 스레드를 점유하기 때문에 스레드를 낭비하게되고, 많은 요청을 효율적으로 처리하기 어렵다.그래서 위에서 언급한 병렬 모델들은..
Development
2025. 4. 16. 06:12