본문 바로가기
리뷰/도서

[리뷰] Concurrent Programming(동시성 프로그래밍) - O'REILLY

by Remover 2022. 9. 29.
반응형

https://www.hanbit.co.kr/store/books/look.php?p_code=B9078925849 

 

동시성 프로그래밍

Rust 언어를 중심으로 어셈블리어, C 언어를 사용해 CPU 아토믹 처리, 소프트웨어 트랜잭셔널 메모리, async/await 등 동시성 프로그래밍과 관련된 이론적 배경부터 구현까지 설계자 입장에서 살펴본

www.hanbit.co.kr

 

동시성, 병렬처리는 중요하면서도 어렵다. 두 가지를 구현할 때는 단일로 구현할 때보다 더 많은 부분을 고려해야하기 때문이다. 대표적으로 데드락, 재귀락 등의 문제가 있을 수 있다.

 

동시성 프로그래밍 책은 Rust와 C 그리고 어셈블리어로 구성되어 있다. 각각 예제마다 C인 경우도 있고, Rust인 경우도 있는데 코드를 보는데 큰 어려움이 없도록 잘 분리해서 표시되어 있다.

 

1장에서는 동시성 의 개념에 대해서 주로 다루고, 실제 동시성에 대한 내용은 3장부터 시작된다. 2장은 C, 어셈블리어, Rust에 대한 이야기가 나오니 이미 개념이 있는 사람의 경우에는 건너 뛸 수 있는 부분이었다.

 

책은 전반적으로 어렵다. 어려울 수 밖에 없다. 아까 말한 것처럼 동시성과 병렬성을 고려한다면 생각해야 하기 때문이다. 

책을 읽어가면 읽을 수록 동시성에 있어서 고려해야 할 부분들이 명확해진다는 점이 좋았다. 생각하지 못한 부분이 있다면 다시 한번 고민하게 되는 책이었고, 알고 있다면 알고 있는 내용을 정리할 수 있는 책이었다.

 

아쉽게도 JAVA나 코틀린, 파이썬을 주언어로 쓰는 사람이라면 책의 내용을 실제로 쓸 기회가 별로 없을 것이다. 그리고 어느 정도의 기초지식, 기반 지식이 있어야 책을 읽기가 수월하다는 점이 책을 접하기 어려운 점 중 하나였다.

 

훗날 동시성을 고려하면서 프로그램을 짜야하는 기회가 온다면 다시 한번 책을 펴볼 것 같다.

 

 

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

댓글