안녕하세요? 홍환민입니다.

오늘은 디자인패턴과 쓰레드 프로그래밍에 관련된 책을 소개시켜 드리고자 글을 씁니다.
예전에 디자인패턴에 관심이 생기기 시작했을 때, 처음으로 봤던 책이 GoF의 책입니다.
뭐 바이블로 여겨지니까 사서 봤지요.

http://kangcom.com/sub/view.asp?sku=200705300004

항상 바이블 류의 책은 내용은 좋으나, 바이블의 성격 때문에 교과서적인 느낌이 많이 나는데요.
그래서 항상 바이블 류 책을 하나 사서 보고, 좀 쉽게 풀어쓴 책을 사서 읽습니다.

그래서 그때, 서점에 들렀다가 우연히 알게 되었고, 내용을 읽어보니 참 좋아서 샀던 책이 바로 "Java 언어로 배우는 디자인 패턴 입문" 이라는 책입니다.

http://www.libro.co.kr/Product/BookDetail.libro?goods_id=0100007687614

그때도 그렇고, (특히나 저 책이 나올 당시에는 더 그랬죠. 위의 링크는 개정판입니다. 원래 책은 금방 품절이 됐었습니다. 그런데 뭔가 진가를 알아봤는지 표지를 다시 이쁘게 해서 나왔더군요.) 지금도 이 책만큼 내용에 충실하면서 알기 쉽게 설명한 책은 드문 것 같습니다.

또한, 이 책도 참 좋지만, 2권은 더 좋습니다. 저도 제대로 읽어보려고 생각하고 있는 책입니다. (사놓고 제대로 보지는 않아서리..)

http://www.libro.co.kr/Product/BookDetail.libro?goods_id=0100007687577

"Java 언어로 배우는 디자인 패턴 입문 : 멀티 쓰레드편" 이라는 책인데요,
멀티 쓰레드 프로그래밍에 관계된 디자인 패턴들을 다루는 책입니다.

멀티 쓰레드 프로그래밍을 함에 있어서 동기화는 어떻게 해야 하는지, 쓰레드들 간의 관계는 어떻게 설정하는 것이 좋은지, 쓰레드 풀링은 어떻게 해야 하는건지 등등 너무나 궁금하지만, 알기 쉽게 잘 정리된 글은 거의 없는데요. 이 책은 참 좋습니다.

일반적으로 쓰레드 프로그래밍에 대한 책으로 추천하는게 "Win32 멀티스레드 프로그래밍" 라는 책입니다.

http://www.yes24.com/24/goods/193652

그런데 이 책은 개인적으로 내용도 너무 딱딱하고, 읽기도 어렵더라고요.
그래서 위 책을 추천하는 바입니다.

아참 그리고 요즘은 멀티쓰레드, 멀티코어, 멀티프로세서 시대인 것 같습니다. 멀티코어와 멀티프로세서가 개인 PC 영역까지 실용화가 되고 있지요. CPU 제조업체들도 하나의 코어의 성능을 향상시키기 보다는 코어 개수를 늘리는 방향으로 나아가고 있으니..
그래서 병렬 프로그래밍에 대한 필요성이 많이 두각되고 있습니다. 멀티 쓰레드를 사용하게 되면 하나의 CPU(코어)를 경쟁하면서 사용하는 것이 아니라, 실제로 여러 CPU(코어)가 동시에 돌기 때문에 상당한 성능향상을 기대할 수 있습니다.

그러므로 병렬 프로그래밍(멀티 쓰레드 프로그래밍)에 대해 공부하시면 좋을 것 같습니다.
저 역시도 공부하려고 준비중이라는.... ㅜㅜ

행복한 하루 되세요.