책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > C++
· ISBN : 9788993827118
· 쪽수 : 432쪽
· 출판일 : 2009-11-20
목차
서문
1. 왜 스레딩 빌딩 블록인가?
개요
어떤 이점이 있는가?
2. 병렬적 사고방식
병렬적 사고 요소
분해
조정성 및 속도 증가
스레드란 무엇인가?
상호 배제와 잠금
정확성
추상화
패턴
직관력
3. 기본 알고리즘
라이브러리 초기화 및 종료
루프 병렬화
재귀적 범위 명세
루프에 대한 요약
4. 고급 알고리즘
스트림에 대한 병렬 알고리즘
5. 컨테이너
concurrent_queue
concurrent_vector
concurrent_hash_map
6. 조정성이 있는 메모리 할당
한계 사항
메모리 할당 작업 시 발생하는 문제
메모리 할당자
malloc, new 및 delete 대체하기
7. 상호 배제
상호 배제를 사용할 때
뮤텍스
뮤텍스
원자적 연산
8. 타이밍
9. 태스크 스케줄러
태스크 기반의 프로그래밍이 적합하지 않을 때
원초적 스레드보다 나은 방식
라이브러리를 초기화하는 것은 여러분의 할 일
피보나치 숫자에 대한 예제
태스크 스케줄링 개요
태스크 스케줄링 동작 원리
권장되는 태스크 반복 패턴
스케줄러를 가장 잘 사용하는 방법
태스크 스케줄러 인터페이스
태스크 스케줄러 요약
10. 성공을 위한 핵심 사항
성공을 위한 핵심 단계
느슨한 순차적 실행(Relaxed Sequential Execution)
메서드와 라이브러리에 대한 안전한 동시성
디버그 대. 릴리즈
효율성을 위하여
디버깅 기능 사용하기
다른 스레딩 패키지와 혼용
명명 규칙
11. 예제
아하! 요인
몇 가지 다른 핵심 사항들
parallel_for 예제들
인생게임
parallel_reduce 예제들
CountStrings: concurrent_hash_map 사용하기
퀵 정렬: 태스크 스틸링 시각화하기
더 나은 행렬 곱셈 (Strassen)
고급 태스크 프로그래밍
패킷 처리 파이프라인
메모리 할당
게임 스레딩 예제
물리적 상호작용 및 업데이트 코드
ODE(Open Dynamics Engine)
12. 역사와 관련 프로젝트들
라이브러리
언어
프라그마
제네릭 프로그래밍
캐시
시간 분할에 대한 비용
람다 함수에 대한 간략한 소개
참고 문헌