서브메뉴
검색
본문
Powered by NAVER OpenAPI
-
-
Java 언어로 배우는 디자인 패턴 입문 - 멀티 쓰레드 편
저자 : 유키 히로시
출판사 : 영진닷컴
출판년 : 2008
정가 : 25000, ISBN : 9788931436921
책소개
멀티 쓰레드가 원활하게 사용되고 있는 프로그램에서는 복수 처리를 병행할 수 있습니다. GUI 애플리케이션에서 멀티 쓰레드를 제대로 사용하면 사용자에 대한 응답성을 향상시킬 수 있으며, 서버 상의 프로그램에서 멀티 쓰레드를 제대로 사용하면 복수 클라이언트의 요청을 병행 처리할 수 있습니다.
이 책에서는 멀티 쓰레드 프로그램에 자주 사용되는 패턴을 Java 언어로 작성한 구체적인 프로그램을 소개합니다. 쓰레드의 기초지식에서부터 쓰레드의 개시와 종료, 쓰레드 간의 배타제어와 협조동작, 효과적인 사용법, 쓰레드 수의 관리, 수행 능력 개선을 위한 힌트 등을 각 장에서 배우게 됩니다. 또한 자칫 범하기 쉬운 실수나 멀티 쓰레드 프로그램을 읽는 요령에 대해서도 공부합니다.
목차
Introduction 01 Java 언어의 쓰레드
Introduction 02 멀티 쓰레드 프로그램의 평가기준
Chapter 01. Single Threaded Execution - 이 다리를 건널 수 있는 사람은 오직 한 명
- Single Threaded Execution 패턴
- 예제 프로그램 1 : Single Threaded Execution 패턴을 사용하지 않는 예
- 예제 프로그램 2 : Single Threaded Execution 패턴을 사용한 예
- Single Threaded Execution 패턴의 등장인물
- 생각의 폭을 넓히기 위한 힌트
- 관련 패턴
- 보강 1 : synchronized에 대해 생각해 봅시다
- 보강 2 : java.util.concurrent 패키지와 계수 Semaphore
Chapter 02. Immutable - 망가뜨리고 싶어도 망가지지 않는다
- Immutable 패턴
- 예제 프로그램
- Immutable 패턴의 등장인물
- 생각의 폭을 넓히기 위한 힌트
- 관련 패턴
- 보강 1 : final
- 보강 2 : 컬렉션 클래스와 멀티 쓰레드
Chapter 03. Guarded Suspension- 준비가 될 때까지 기다려 주세요
- Guarded Suspension 패턴
- 예제 프로그램
- Guarded Suspension 패턴의 등장인물
- 생각의 폭을 넓히기 위한 힌트
- 관련 패턴
Chapter 04. Balking - 필요 없으면 관둬요
- Balking 패턴
- 예제 프로그램
- Balking 패턴의 등장인물
- 생각의 폭을 넓히기 위한 힌트
- 관련 패턴
- 보강 : 타임아웃
Chapter 05. Producer-Consumer - 내가 만들고 당신이 사용한다
- Producer-Consumer 패턴
- 예제 프로그램
- Producer Consumer 패턴의 등장인물
- 생각의 폭을 넓히기 위한 힌트
- 관련 패턴
- 보강 1 : 예외 InterruptedException
- 보강 2 : java.util.concurrent 패키지와 Producer-Consumer 패턴
Chapter 06. Read-Write Lock - 다 같이 읽는 것은 상관없지만 읽는 중간에 쓰면 안돼요
- Read-Write Lock 패턴
- 예제 프로그램
- Read-Write Lock 패턴의 등장인물
- 생각의 폭을 넓히기 위한 힌트
- 관련 패턴
- 보강 : java.util.concurrent.locks 패키지와 Read-Write Lock 패턴
Chapter 07. Thread-Per-Message - 이 일을 부탁해요
- Thread-Per-Message 패턴
- 예제 프로그램
- Thread-Per-Message 패턴의 등장인물
- 생각의 폭을 넓히기 위한 힌트
- 관련 패턴
- 보강 1 : 프로세스와 쓰레드
- 보강 2 : java.util.concurrent 패키지와 Thread-Per-Message 패턴
Chapter 08. Worker Thread - 일이 올 때까지 기다리고, 일이 오면 작업한다
- Worker Thread 패턴
- 예제 프로그램
- Worker Thread 패턴의 등장인물
- 생각의 폭을 넓히기 위한 힌트
- 관련 패턴
- 보강 1 : Swing의 이벤트·디스패칭 쓰레드
- 보강 2 java.util.concurrent 패키지와 Worker Thread 패턴
Chapter 09. Future - 먼저 교환권을 받으세요
- Future 패턴
- 예제 프로그램
- Future 패턴의 등장인물
- 생각의 폭을 넓히기 위한 힌트
- 관련 패턴
- 보강 : java.util.concurrent 패지키와 Future 패턴
Chapter 10. Two-Phase Termination - 뒷정리를 하고 나서 자도록 해요
- Two-phase Termination 패턴
- 예제 프로그램
- Two-Phase Termination 패턴의 등장인물
- 생각의 폭을 넓히기 위한 힌트
- 관련 패턴
- 보강 1 : 인터럽트 상태와 예외 InterruptedException의 상호 변환
- 보강 2 : java.util.concurrent 패키지와 쓰레드의 동기
Chapter 11. Thread-Specific Storage - 쓰레드마다 락커를 가진다
- Thread-Specific Storage 패턴
- java.lang.ThradLocal 클래스에 대하여
- 예제 프로그램1 : Thread-Specific Storage 패턴을 사용하지 않는 예
- 예제 프로그램 2 : Thread-Specific Storage 패턴을 사용하는 예
- Thread-Specific Storage 패턴의 등장인물
- 생각의 폭을 넓히는 힌트
- 관련 패턴
- 보강 : 액터 베이스와 태스크 베이스
Chapter 12. Active Object - 비동기 메시지를 맞이하는 능동적인 객체
- Active Object 패턴
- 예제 프로그램
- Active Object 패턴의 등장인물
- 생각의 폭을 넓히기 위한 힌트
- 관련 패턴
- 보강 : java.util.concurrent 패키지와 Active Object 패턴
Chapter 13. 총정리 - 멀티 쓰레드 프로그래밍 패턴 랭귀지
- 멀티 쓰레드 프로그래밍 패턴 랭귀지
- Single Thread Execution 패턴(Chapter 01)
- Immutable 패턴(Chapter 02)
- Guarded Suspension 패턴(Chapter 03)
- Balking 패턴(Chapter 04)
- Producer-Consumer 패턴(Chapter 05)
- Read-Write Lock 패턴(Chapter 06)
- Thread-Per-Message 패턴(Chapter 07)
- Worker Thread 패턴(Chapter 08)
- Future 패턴(Chapter 09)
- Two-Phase Termination 패턴(Chapter 10)
- Thread-Specific Storage 패턴(Chapter 11)
- Active Object 패턴(Chapter 12)