멀티스레드 기반 자바스크립트
도서명:멀티스레드 기반 자바스크립트
저자/출판사:토머스,헌터,세,브라이언,잉글리시/루비페이퍼
쪽수:272쪽
출판일:2022-06-15
ISBN:9791186710838
목차
CHAPTER 1 시작하며
1 스레드란?
2 동시성 vs 병렬성
3 싱글스레드 기반 자바스크립트
4 숨겨진 스레드
5 C언어의 스레드 : Happycoin으로 부자 되세요
__5.1 메인 스레드 1개로 구현하기
__5.2 워커 스레드 4개로 구현하기
CHAPTER 2 브라우저
1 전용 워커
__1.1 전용 워커를 사용한 Hello World 코드
__1.2 전용 워커 중급 버전
2 공유 워커
__2.1 공유 워커를 사용한 Hello World 코드
__2.2 공유 워커 중급 버전
3 서비스 워커
__3.1 서비스 워커를 사용한 Hello World 코드
__3.2 서비스 워커 중급 버전
4 메시지 패싱 개요
__4.1 RPC 패턴
__4.2 명령어 분배 패턴
__4.3 종합 버전
CHAPTER 3 Node.js
1 스레드가 없었을 시절
2 worker_threads 모듈
__2.1 workerData
__2.2 MessagePort
3 Happycoin 다시 보기
__3.1 메인 스레드 1개로 구현하기
__3.2 워커 스레드 4개로 구현하기
4 Piscina를 통한 워커 풀
5 Happycoin으로 가득 찬 풀
CHAPTER 4 공유 메모리
1 공유 메모리 입문
__1.1 브라우저에서 공유 메모리 사용하기
__1.2 Node.js의 공유 메모리
2 SharedArrayBuffer와 TypedArrays
3 데이터 가공을 위한 Atomic 메서드
4 원자성에 대한 논의
5 데이터 직렬화
__5.1 Boolean 타입
__5.2 문자열 타입
__5.3 객체 타입
CHAPTER 5 공유 메모리 중급
1 코디네이션을 위한 Atomic 메서드
__1.1 Atomics.wait()
__1.2 Atomics.notify()
__1.3 Atomics.waitAsync()
2 스레드가 깨어나는 타이밍과 예측 가능성
__2.1 비결정적 방식의 예시
__2.2 스레드 준비 여부 감지하기
3 예시 애플리케이션: 콘웨이의 생명 게임
__3.1 콘웨이의 생명 게임: 싱글 스레드 버전
__3.2 콘웨이의 생명 게임: 멀티스레드 버전
4 Atomics와 Events 객체
CHAPTER 6 멀티스레드 패턴
1 스레드 풀
__1.1 풀 크기
__1.2 작업 배정 전략
__1.3 예시 적용하기
2 뮤텍스: 록 기초
3 링 버퍼를 통한 데이터 스트리밍
4 액터 모델
__4.1 패턴 뉘앙스
__4.2 자바스크립트와의 관계
__4.3 예시 구현하기
CHAPTER 7 웹어셈블리
1 여러분의 첫 번째 웹어셈블리
2 웹어셈블리의 데이터 원자성 함수
3 Emscripten을 통해 C 코드 웹어셈블리로 컴파일하기
4 웹어셈블리 컴파일러: 기타
5 AssemblyScript
6 Happycoin: AssemblyScript로 구현하기
CHAPTER 8 분석
1 멀티스레딩을 적용하지 않아야 하는 경우
__1.1 메모리 크기가 작을 때
__1.2 코어 개수가 적을 때
__1.3 컨테이너 vs 스레드
2 멀티스레딩을 적용해야 하는 경우
3 주의사항 요약
부록: 구조화된 복제 알고리즘