프로그래머에게 동시성 프로그래밍은 사춘기를 보내는 아이를 대하는 것과 비슷합니다. 이해하기도 어렵고, 불안정하며, 제대로 동작하는지 테스트하는 것조차 버거워 프로그램에 치명적인 상처를 입히기도 합니다. 최근에 자바에 도입된 가상 스레드와 구조적 동시성, 스코프드 밸류는 동시성 프로그래밍에 대한 이런 오해와 불신을 완벽하지는 않아도 만족스러울 정도로 해결해 주고 있습니다. 그리고 이 책은 이런 개선사항들에 대한 개념과 사용 방법을 놀랍도록 완벽하면서도 만족스럽게 설명합니다.
이 책은 단순히 신기술을 나열하는 데 그치지 않고 자바 동시성 모델의 역사와 내부 메커니즘을 깊이 있게 파고들며, 기존 라이브러리의 한계와 최적의 활용법을 명확히 짚어줍니다. 패러다임 관점에서도 주목할 만한데, 명령형 프로그래밍 방식으로도 충분히 이해하기 쉽고 예상 가능한 동시성 프로그램을 작성할 수 있음을 보여줍니다. 예제는 실무에서 활용할 수 있을 만큼 실용적이고 구체적이며, 리액티브 프로그래밍과의 비교, 스프링 부트와 쿼커스를 포함한 최신 프레임워크에서의 활용 방법 등 개발자에게 유용한 내용들로 가득 차 있습니다.
그동안 동시성 프로그래밍이 어렵게만 느껴지셨나요? 그렇다면 이 책을 꼭 읽어보시기 바랍니다. 동시성 프로그래밍의 본질적인 불안정성 자체는 제거할 수 없겠지만, 최소한 안정적으로 통제할 수 있다는 확신은 들 것입니다. 적어도 저는 그렇게 느꼈습니다.