메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

Rust Atomics and Locks 러스트 동시성 프로그래밍

Atomic과 Lock으로 안전하고 효율적인 동시성 코드 작성하기

한빛미디어

번역서

판매중

  • 저자 : 마라 보스
  • 번역 : 윤인도
  • 출간 : 2024-01-29
  • 페이지 : 280 쪽
  • ISBN : 9791169212007
  • 물류코드 :11200
  • 초급 초중급 중급 중고급 고급
5점 (4명)
좋아요 : 3

최고의 성능, 최적의 안전성

러스트가 선도하는 동시성 프로그래밍의 미래

 

러스트는 안전성, 우수한 성능, 간결한 문법, 비동기 프로그래밍 지원 등 현대적인 프로그래밍 환경에 최적화된 언어로 꼽힙니다. 비록 러스트가 학습하기 어려운 언어이지만, 여러 해 동안 개발자들로부터 큰 주목을 받고 있는 이유이기도 합니다. 더불어 마이크로소프트, 구글, 아마존 같은 글로벌 IT 기업들에서 러스트를 적극적으로 활용하고 있습니다. 현재 인프라 환경은 멀티 코어 프로세서의 보편화로 동시성과 병렬성이 중요해지면서 그 중요도는 지금보다 더 높아질 것이고, 러스트는 미래의 언어가 될 것입니다.

 

이 책은 러스트의 안전성과 빠른 속도라는 강점을 최대한 활용하는 방법을 소개합니다. 특히 러스트의 메모리 모델을 중점으로 다루며, Arc나 Mutex와 같은 동시성 도구가 어떻게 동작하는지를 다양한 예제 코드와 함께 자세히 설명합니다. 이를 통해 독자는 고수준의 실무 경험을 쌓을 수 있으며, 러스트를 활용한 효과적인 동시성 프로그래밍에 대한 이해를 한층 더 향상시킬 수 있습니다. 러스트를 처음 배우려는 개발자뿐만 아니라, 다른 언어에서 동시성 코드를 개발하려는 개발자에게도 유용한 핵심 가이드가 되어줄 것입니다.

해설 영상과 함께 더 쉽게 학습해보세요!

 

700px_러스트 동시성 프로그래밍.jpg

마라 보스 저자

마라 보스

러스트 라이브러리 팀의 리더. 러스트 표준 라이브러리를 유지하고 러스트에서 실시간 제어 시스템을 구축합니다. 그녀가 설립한 회사 Fusion Engineering에서 수년간 동시성 시스템을 운영했습니다. 또한 러스트 시스템에서 가장 많이 사용되는 라이브러리를 유지하고 안전에 중요한 시스템을 매일 작업하면서 실무에 실제로 적용할 수 있는 경험을 쌓았습니다.

윤인도 역자

윤인도

SAP Labs Korea의 백엔드 개발자. 한 줄의 코드가 세상을 더 나은 곳으로 바꿀 수 있다고 믿으며, 많은 이에게 지식을 전파하기 위해 여러 기업과 대학을 오가며 강연을 하고 있습니다. 최근에는 프로그래머스 스쿨에서 ‘파이썬 프로그래머를 위한 러스트 입문’ 온라인 강의를 진행습니다. 이 외에도 클래스 101에서 ‘파이썬 기초부터 업무 자동화’, 베어유에서 ‘React App 만들기’ 등 온라인 교육 경력이 다수 있습니다.

CHAPTER 1 러스트 동시성의 기초

1.1 러스트의 스레드

1.2 범위 스레드

1.3 스레드 소유권과 레퍼런스 카운팅

1.4 소유권 대여와 데이터 경합

1.5 내부 가변성

1.6 스레드 안전성: Send와 Sync

1.7 잠금: 뮤텍스와 RwLock

1.8 대기: 파킹과 조건 변수

요점 정리

 

CHAPTER 2 아토믹

2.1 아토믹한 데이터 load 및 store 연산

2.2 fetch-and-modify 연산

2.3 compare-and-exchange 연산

요점 정리

 

CHAPTER 3 메모리 순서

3.1 메모리 순서 재정렬과 최적화

3.2 메모리 모델

3.3 happens-before 관계

3.4 느슨한 메모리 순서

3.5 해제 순서와 획득 순서

3.6 소비 순서

3.7 순차적으로 일관된 순서

3.8 펜스

3.9 자주 발생하는 오해

요점 정리

 

CHAPTER 4 스핀 락 구현해보기

4.1 가장 간단한 구현체

4.2 Unsafe 스핀 락

4.3 잠금 가드를 사용한 안전한 인터페이스

요점 정리

 

CHAPTER 5 채널 구현해보기

5.1 간단한 뮤텍스 기반 채널

5.2 언세이프 원샷 채널

5.3 런타임 검사를 통한 안전성

5.4 타입을 사용한 안전성

5.5 할당을 피하기 위한 소유권 대여

5.6 차단

요점 정리

 

CHAPTER 6 Arc 구현해보기

6.1 기본적인 레퍼런스 카운팅

6.2 위크 포인터

6.3 최적화

요점 정리

 

CHAPTER 7 프로세서 이해하기

7.1 프로세서 명령어

7.2 캐싱

7.3 재정렬

7.4 메모리 순서

요점 정리

 

CHAPTER 8 운영체제의 기본 요소

8.1 커널 인터페이스

8.2 pOSIX

8.3 리눅스

8.4 맥OS

8.5 윈도우

요점 정리

 

CHAPTER 9 잠금 구현해보기

9.1 뮤텍스

9.1.1 시스템 콜 피하기

9.1.2 좀 더 최적화해보기

9.1.3 벤치마킹

9.2 조건 변수

9.2.1 시스템 콜 피하기

9.2.2 가짜 깨우기 피하기

9.3 읽기/쓰기 잠금

9.3.1 쓰기 스레드의 무의미한 반복 피하기

9.3.2 쓰기 고갈 피하기

 

CHAPTER 10 아이디어와 제안

10.1 세마포어

10.2 RcU

10.3 잠금 없는 연결 리스트

10.4 큐 기반 잠금

10.5 parking lot 기반 잠금

10.6 순차 잠금

10.7 교육용 자료

러스트 언어로 안전성과 성능을 동시에 극대화하다

 

이 책은 동시성을 최대한 활용하여 효율적인 코드를 작성하기 위해 Atomic과 Lock을 중심으로 실무 지식을 제공하는 러스트 핵심 가이드입니다. Atomic과 Lock 연산의 활용법은 물론, Mutex를 사용하여 안전하게 데이터에 접근하는 방법에 대한 핵심 원칙까지 소개합니다. 뿐만 아니라, 동시성 코드에서 중요한 메모리 순서와 관련된 개념을 자세히 설명하고 있어 여러 스레드 간에 데이터를 안전하게 공유하거나 수정하기 위한 Arc와 Mutex에 대한 심층적인 내용도 체계적으로 배워나갈 수 있습니다. 이 책을 통해 동시성 프로그래밍에 가장 최적화된 러스트를 활용하여 다양한 동시성 문제에 유연하게 대응하고 안전한 소프트웨어를 개발하는 데 필요한 기술을 습득하길 바랍니다.

 

★ 이 책의 내용

  • 운영체제의 지원을 받아 Lock 구현하기
  • Mutex, Atomic, 조건 변수, 메모리 순서
  • 자체 Lock 및 동기화 기본 요소를 구축하기
  • 인텔 및 ARM 프로세서에서 Atomic 연산 활용하기
  • 러스트의 타입 시스템이 동시성 프로그램을 작동하는 방법
  • 동시성, Atomic, Lock을 포함하는 코드를 올바르게 작성하는 방법

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
Rust Atomics and Locks 러스트 동시성 프로그래밍
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
Rust Atomics and Locks 러스트 동시성 프로그래밍
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
Rust Atomics and Locks 러스트 동시성 프로그래밍
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실