2008년 06월 10일
Java Concurrency in Practice

이 책은 자바에서 병행성(concurrency)에 관해 매우 실제적인 측면에서 설명하고 있다. 자바의 기본 병행성 도구인 스레드(thread)를 다루는 여러 방법을 설명하고 있다. 또 실제 구현을 할 때 큰 도움을 주는 java.util.concurrent 라이브러리도 자세히 설명하고 있다. 데드락을 피하는 법이나 스레드 모니터링, 테스팅에 관해서도 언급하고 있고 성능 문제에 관해서도 잘 설명하고 있다. 아주 많은 것을 배운 책이었다. 스레드를 시작할 줄 알고, synchronized 키워드나 wait, notify 정도만 알고 있고 왜 double check locking이 위험한지, volatile이 무엇인지, InterruptedException은 어떻게 처리해야 하는지, java.util.concurrent 패키지에는 무엇이 들어있는지 모른다면 이 책을 읽으면 된다.
이 책에서 다루고 있는 내용을 생각나는대로 한번 나열해 보면 다음과 같다.
- 자바 병행성과 관련한 두 가지 문제: 접근 제어와 memory visibility 문제
- 병행성 관련하여 데이타를 다루는 방법: no share, immutable, thread confinement, guarded mutable object share
- Publish / Escape
- 작업(Task)와 스레드(Thread) 관리의 분리: Executor. Future, ThreadPool
- condition: Latch, Semaphore, Barrier, BlockingQueue 등
- 스레드의 취소, 중지: interrupt
- Concurrent Collection 라이브러리
- Lock Contention
- Thread dump
- Atomic variable. CAS(Compare-And-Swap), Nonblocking Algorithm, Optimistic
# by | 2008/06/10 11:48 | 트랙백 | 덧글(0)





















☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]