검색

북큐브서점

마이페이지

로그아웃
  • 북캐시

    0원

  • 적립금

    0원

  • 쿠폰/상품권

    0장

  • 무료이용권

    0장

자동완성 기능이 꺼져 있습니다.

자동완성 끄기

네이버 인증이 완료되었습니다.

이미 북큐브 회원인 경우북큐브 ID로 로그인하시면, SNS계정이 자동으로 연결됩니다.

SNS 계정으로 신규 가입하기SNS계정으로 로그인 시 해당 SNS 계정으로 북큐브에 자동 가입되며 간편하게 로그인이 가능합니다.

비밀번호 찾기

북큐브 고객센터 : 1588-1925

아이디 찾기

북큐브 고객센터 : 1588-1925

아이디 조회 결과

비밀번호 조회 결과

으로
비밀번호를 발송했습니다.

모던 C++로 배우는 동시성 프로그래밍

라이너

제이펍 출판|2020.09.08

0.0(0명)

서평(0)

시리즈 가격정보
전자책 정가 17,500원
구매 17,500원+3% 적립
출간정보 2020.09.08|PDF|20.66MB
소득공제 여부 가능 (대여는 제외)

10년소장 안내

10년소장은 장기대여 상품으로 구매 상품과는 달리 다양한 프로모션 및 폭넓은 할인 혜택 제공이 가능합니다.

프로모션이 없는 경우 구매 상품과 가격이 동일하지만 프로모션이 진행되게 되면 큰 폭의 할인 및 적립이 제공됩니다.

close

지원 단말기 : IOS 11.0 이상, Android 4.1 이상, PC Window 7 OS 이상 지원 듣기, 스크랩 (형광펜, 메모), 본문 검색 불가

책소개

C++ 프로그래머라면 반드시 알아야 할 동시성의 모든 것!
C++ 동시성 프로그래밍을 마스터할 수 있는 실용적 안내서!

이 책은 C++ 동시성의 현재와 미래를 탐험하는 여행 가이드다. 모던 C++의 동시성 이야기를 수많은 예제 코드와 함께 깊이 있게 풀어냈으며, 이를 통해 여러분은 이론과 실제를 균형 있게 습득함으로써 최대의 효과를 거둘 수 있을 것이다. 어려운 주제로 인식되는 동시성을 다루는 만큼 곤란한 문제들과 그 해결 방법도 함께 제시한다.

C++11과 C++14은 동시적이고 병렬적인 프로그램을 만들기 위한 기본 빌딩 블록을 갖췄다. C++17에서는 표준 템플릿 라이브러리(STL)의 병렬 알고리즘을 지원한다. 다시 말해, STL 기반 알고리즘은 대부분 순차적으로나 병렬적으로 또는 벡터화 방식으로 실행될 수 있다. C++의 동시성 이야기는 현재 진행형이다. C++20에는 확장 퓨처와 코루틴, 트랜잭션 등이 담길 것으로 예상된다.

목차

[모던 C++로 배우는 동시성 프로그래밍]

PART I 서론
CHAPTER 1 모던 C++의 동시성
C++11과 C++14: 토대
메모리 모델
멀티스레딩
사례 연구
벡터의 합 계산하기
싱글턴의 스레드 안전한 초기화
CppMem의 연속 최적화
C++17: 표준 템플릿 라이브러리의 병렬 알고리즘
실행 정책
새 알고리즘들
C++20: 동시성 퓨처
원자계 스마트 포인터
확장 퓨처
래치와 장벽
코루틴
트랜잭션 메모리
태스크 블록
도전
베스트 프랙티스
time 라이브러리
용어

PART II 본론
CHAPTER 2 메모리 모델
계약
기반
도전
원자계
꼼꼼한 메모리 모델 vs 허술한 메모리 모델
원자계 플래그
클래스 템플릿 std::atomic
사용자 정의 원자계
원자계 연산들
원자계 자유 함수들
동기화 및 순서상 제약 조건
C++의 여섯 가지 메모리 모델
시퀀스 일관성
acquire-release 시맨틱
std::memory_order_consume
편안한 시맨틱
담장
메모리 장벽으로서의 담장
세 가지 담장
acquire 담장과 release 담장
원자계 변수의 동기화와 담장의 동기화

CHAPTER 3 멀티스레딩
스레드
생성
라이프사이클
인수
메서드
공유 데이터
뮤텍스
잠김
스레드 안전한 초기화
스레드 로컬 데이터
조건 변수
wait 작업 흐름
사라진 깨우기와 가짜 깨우기
태스크
스레드와 태스크
std::async
std::packaged_task
std::promise와 std::future

CHAPTER 4 사례 연구
벡터의 합 계산하기
벡터의 싱글스레딩 덧셈
공유 변수의 멀티스레딩 합
스레드 로컬 합
벡터의 합: 결론
싱글턴의 스레드 안전한 초기화
잠김 패턴의 이중 확인
성능 측정
스레드 안전한 마이어스 싱글턴
std::once_flag와 결합된 std::call_once
원자계
스레드 안전한 싱글턴 구현의 성능 수치들
CppMem 연속 최적화
CppMem 개요
CppMem: 비원자계 변수
CppMem: 잠김
CppMem: 시퀀스 일관성 원자계
CppMem: acquire-release 시맨틱 원자계
CppMem: 비원자계가 적용된 원자계
CppMem: 편안한 시맨틱 원자계
결론

CHAPTER 5 표준 템플릿 라이브러리의 병렬 알고리즘
실행 정책
알고리즘
새 알고리즘들
함수형 유산

CHAPTER 6 미래: C++20
원자계 스마트 포인터
스레드 안전한 단일 연결 리스트
확장 퓨처
std::future
std::async, std::packaged_task, std::promise
새 퓨처 생성하기
래치와 장벽
std::latch
std::barrier
std::flex_barrier
코루틴
제너레이터 함수
세부 내용
트랜잭션 메모리
ACI(D)
동기화 블록과 원자계 블록
transaction_safe 코드와 transaction_unsafe 코드
태스크 블록
fork와 join
define_task_block과 define_task_block_restore_thread
인터페이스
스케줄러

PART III 심화
CHAPTER 7 도전
ABA
비유
비임계 ABA
잠김 없는 데이터 구조
ABA 문제
해결책
블로킹 문제
프로그램 불변식 깨기
데이터 경쟁
가짜 공유
변수의 라이프사이클 문제
움직이는 스레드
교착상태
경쟁 상태

CHAPTER 8 베스트 프랙티스
개괄
코드 리뷰
변형 가능한 데이터의 데이터 공유를 최소화하라
대기를 최소화하라
변형 불가능한 데이터를 먼저 사용하라
올바른 추상화를 찾아라
정적 코드 분석 도구를 사용하라
동적 강화 도구를 사용하라
메모리 모델
동기화에 volatile을 사용하지 마라
잠김 없는 프로그램을 만들지 마라
잠김 없는 프로그램이 불가피할 때는 잘 정립된 패턴을 사용하라
자신만의 추상화를 만들지 말고 언어가 제공하는 보장을 사용하라
멀티스레딩
스레드
데이터 공유
조건 변수
프로미스와 퓨처

CHAPTER 9 time 라이브러리
시점과 기간, 클록의 상호작용
시점
시점에서 캘린더 시간까지
유효한 시간 범위를 넘어
기간
계산
클록
정확도와 고정성
에포크
잠자기와 기다리기
관습
다양한 기다리기 전략

CHAPTER 10 용어

찾아보기

저자소개

저 : 라이너 그림 (Rainer Grimm)
팀 리더와 강사로 20년 넘게 근무한 베테랑 소프트웨어 아키텍트다. 시간이 날 때면 C++, 파이썬, 하스켈 같은 주제의 기사를 즐겨 읽고, 콘퍼런스에도 자주 참가한다. 2016년부터는 회사를 나와 모던 C++와 파이썬을 주제로 하는 세미나를 조직하여 지금까지 이끌고 있다.

역 : 배장열
그간 쌓은 강의, 개발, 번역 경험을 바탕으로 소프트웨어 관련 서적을 쓰고 만들고 있는 IT 전문 저술가입니다. 지금은 파이선을 비롯해 다양한 프로그래밍 언어 학습서를 쓰고 있습니다.

서평(0)

별점으로 평가해주세요.

서평쓰기

스포일러가 포함되어 있습니다.

0.0

(0명)

ebook 이용안내

  • 구매 후 배송이 필요 없이 다운로드를 통해 이용 가능한 전자책 상품입니다.
  • 전자책 1회 구매로 PC, 스마트폰, 태블릿 PC에서 이용하실 수 있습니다.
    (도서 특성에 따라 이용 가능한 기기의 제한이 있을 수 있습니다.)
  • 책파일 내 판권정보 정가와 북큐브 사이트 정가 표시가 다를 수 있으며, 실제 정가는 사이트에 표시된 정가를 기준으로 합니다.
  • 적립금 지급은 적립금 및 북큐브 상품권으로 결제한 금액을 뺀 나머지가 적립금으로 지급됩니다.
    (적립금 유효기간은 마이페이지>북캐시/적립금/상품권>적립금 적립내역에서 확인 가능합니다.)
  • 저작권 보호를 위해 인쇄/출력 기능은 지원하지 않습니다.
  • 구매하신 전자책은 “마이페이지 > 구매목록” 또는 “북큐브 내서재 프로그램 > 구매목록”에서 다운로드할 수 있습니다.
  • 스마트폰, 태블릿PC의 경우 북큐브 어플리케이션을 설치하여 이용할 수 있습니다. (모바일 페이지 바로가기)
  • PC에서는 PC용 내서재 프로그램을 통해 도서를 이용하실 수 있습니다.
  • ID 계정 당 총 5대의 기기에서 횟수 제한 없이 이용하실 수 있습니다.
TOP