SECTION 1.1 동시성의 중요성
동시성은 소프트웨어 엔지니어링에서 반드시 필요한 요소다. 시장에서 필요로 하는 고성능 애플리케이션과 동시성을 갖춘 시스템을 만들려면 동시성 프로그래밍 기술이 꼭 필요하기 때문이다.
동시성 프로그래밍은 완전히 새로운 개념이 아니다. 하지만 지금과 같은 주목을 받게 된 것은 몇 해 되지 않았다. 현대적 컴퓨터 시스템이 갖춘 코어와 프로세서 수가 점점 늘어나면서 동시성 프로그래밍 역시 소프트웨어를 개발하기 위해 프로그래머가 꼭 알아두어야 할 지식이 됐다. 한정된 자원을 가지고 빠른 성능을 얻으려면 동시성을 활용해야 하는 문제가 많아졌고, 결과적으로 기업들도 동시성을 능숙하게 다룰 수 있는 프로그래머를 찾았다.
동시성의 가장 큰 장점은 애초에 이 분야가 연구되기 시작한 이유이기도 하다. 시스템 성능을 끌어올릴 수 있기 때문이다. 동시성을 도입하면 시스템 성능이 어떻게 좋아질 수 있는지 살펴보자.