장바구니 담기 close

장바구니에 상품을 담았습니다.

동시성 프로그래밍

동시성 프로그래밍

  • 다카노유키
  • |
  • 한빛미디어
  • |
  • 2022-04-05 출간
  • |
  • 428페이지
  • |
  • 183 X 235 mm
  • |
  • ISBN 9791162245422
판매가

34,000원

즉시할인가

30,600

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
30,600

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




동시성 프로그래밍 구현과 이론을 이 정도로 넓게 다룬 책은 없다

네트워크로 연결된 모든 시스템에는 동시성 프로그램이 적용되었다고 해도 과언이 아닐 것입니다. 스마트폰으로 노래를 들으면서 웹 서핑을 하고, 화면을 분할해 동영상을 보면서 연락을 주고받는 것은 모두 동시성 프로그래밍 덕분입니다. 이렇게 우리 삶과 밀접하고 다양하게 이용되는 동시성 프로그래밍의 전반을 한 권에 담았습니다. 저자는 이 책을 이렇게 설명합니다.

“어셈블리부터 알고리즘, 계산 모델에 이르는 광범위한 주제를 총체적으로 다룬 세계 최초의 책입니다.”

주로 Rust 언어를 이용해 설명하고 C 언어와 어셈블리 언어도 사용합니다. Rust 언어는 동시성 프로그래밍 관점에서 심사숙고해 만들어진 프로그래밍 언어입니다. 프로그래밍에 안정성을 제공하고 메모리를 고려해 코드를 작성할 수 있으며 async/wait 등 고급 개념을 적용하고 있기 때문에 Rust와 동시성 프로그래밍은 떼어놓고 생각할 수 없습니다.

동시성 개념부터 동시성 프로그래밍이 갖는 독특한 특징(동기 처리, 레이스 컨디션, 락, 비동기 처리, IO 다중화, 멀티태스킹 등), 어셈블리 언어와 알고리즘, 계산 모델에 이르는 광범위한 주제를 담았습니다. 성능 향상은 물론 구조적인 허점을 피해 더 안전하고 유지보수성이 높은 소프트웨어를 만들고 싶다면 동시성 프로그래밍을 시작할 때입니다.

★주요 내용
● 1장 동시성의 개념과 주변 기술
● 2장 프로그래밍 언어의 기본 개념과 구문
● 3장 동기 처리 알고리즘
● 4장 동시성 프로그래밍에서 특히 발생하는 버그
● 5장 비동기 프로그래밍(IO 다중화, Rust의 async/await)
● 6장 멀티태스크(Rust를 이용해 액터 모델을 사용자 공간에서 구현)
● 7장 공평한 동기 처리, 소프트웨어 트랜잭셔널 메모리(STM), 락프리 데이터 구조
● 8장 계산 모델 측면에서의 동시성 프로그래밍

★대상 독자
● C나 Rust 기본을 습득하고 본격적으로 소프트웨어를 구현하는 단계에 들어선 전공자나 개발자
● 프로그래밍 경험이 있으며 동시성 프로그래밍을 체계적으로 학습하고자 하는 개발자


목차


CHAPTER 1 동시성과 병렬성
1.1 프로세스
1.2 동시성
1.3 병렬성
1.4 동시 처리와 병렬 처리의 필요성

CHAPTER 2 프로그래밍 기본
2.1 어셈블리 언어
2.2 C 언어
2.3 Rust 언어

CHAPTER 3 동기 처리 1
3.1 레이스 컨디션
3.2 아토믹 처리
3.3 뮤텍스
3.4 세마포어
3.5 조건 변수
3.6 배리어 동기
3.7 Readers-Writer 락
3.8 Rust 동기 처리 라이브러리
3.9 베이커리 알고리즘

CHAPTER 4 동시성 프로그래밍 특유의 버그와 문제점
4.1 데드락
4.2 라이브락과 굶주림
4.3 은행원 알고리즘
4.4 재귀락
4.5 의사 각성
4.6 시그널
4.7 메모리 배리어

CHAPTER 5 비동기 프로그래밍
5.1 동시 서버
5.2 코루틴과 스케줄링
5.3 async/await
5.4 비동기 라이브러리

CHAPTER 6 멀티태스크
6.1 멀티태스크
6.2 협조적 그린 스레드 구현
6.3 액터 모델 구현

CHAPTER 7 동기 처리 2
7.1 공평한 배타 제어
7.2 소프트웨어 트랜잭셔널 메모리
7.3 락프리 데이터 구조와 알고리즘

CHAPTER 8 동시 계산 모델
8.1 수학적 표기
8.2 λ 계산
8.3 액터 모델
8.4 π 계산

APPENDIX A AArch64 아키텍처
A.1 레지스터
A.2 기본 연산 명령
A.3 메모리 읽기 쓰기
A.4 조건부 명령 실행과 점프
A.5 호출 규약
A.6 예

APPENDIX B x86-64 아키텍처
B.1 레지스터
B.2 AT&T 기법
B.3 기본 연산 명령

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 : 070-4821-5101
교환/반품주소
  • 부산광역시 부산진구 중앙대로 856 303호 / (주)스터디채널 / 전화 : 070-4821-5101
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.