1장. 스레드 기반 작업의 한계와 코루틴의 등장
1.1. JVM 프로세스와 스레드
1.2. 단일 스레드의 한계와 멀티 스레드 프로그래밍
1.2.1. 단일 스레드 애플리케이션의 한계
1.2.2. 멀티 스레드 프로그래밍을 통한 단일 스레드의 한계 극복
1.3. 스레드, 스레드풀을 사용한 멀티 스레드 프로그래밍
1.3.1. Thread 클래스를 사용하는 방법과 한계
1.3.2. Executor 프레임웍을 통해 스레드풀 사용하기
1.3.3. 이후의 멀티 스레드 프로그래밍과 한계
1.4. 기존 멀티 스레드 프로그래밍의 한계와 코루틴
1.4.1. 기존 멀티 스레드 프로그래밍의 한계
1.4.2. 코루틴은 스레드 블로킹 문제를 어떻게 극복하는가?
1.5. 요약
2장. 코루틴 개발 환경 설정
2.1. 인텔리제이 아이디어 설치 및 둘러보기
2.1.1. 인텔리제이 아이디어 설치하기58
2.2. 코틀린 프로젝트 생성하고 화면 구성 살펴보기
2.2.1. 프로젝트 생성하기
2.2.2. IDE 구성 살펴보기
2.3. 첫 코루틴 실행하기
2.3.1. 코루틴 라이브러리 추가하기
2.3.2. 첫 코루틴 실행하기
2.4. 코루틴 디버깅 환경 설정하기
2.4.1. 실행 중인 스레드 출력하기
2.4.2. 실행 중인 코루틴 이름 출력하기
2.4.3. launch 사용해 코루틴 추가로 실행하기
2.4.4. CoroutineName 사용해 코루틴에 이름 추가하기
2.5. 요약
3장. CoroutineDispatcher
3.1. CoroutineDispatcher란 무엇인가?
3.1.1. CoroutineDispatcher의 동작 살펴보기
3.1.2. CoroutineDispatcher의 역할
3.2. 제한된 디스패처와 무제한 디스패처
3.3. 제한된 디스패처 생성하기
3.3.1. 단일 스레드 디스패처 만들기
3.3.2. 멀티 스레드 디스패처 만들기
3.4. CoroutineDispatche
이 책에서 다루는 내용
풍부한 시각적 자료를 통해 초보 개발자라도 코루틴을 사용한 비동기 프로그래밍을 쉽게 이해할 수 있도록 설명한다.
코루틴 이전의 멀티 스레드 프로그래밍이 어떤 한계를 가졌는지, 코루틴이 그 한계를 어떻게 극복했는지를 설명한다.
CoroutineContext를 구성하는 다양한 구성 요소의 활용 방법을 설명한다.
코루틴의 구조화된 동시성과 예외 처리 방법을 알아보고 비동기 프로그래밍을 안정적으로 하는 방법을 설명한다.
코루틴의 동작 방식에 대한 심층적인 이해를 위한 자료를 제공한다.
코루틴 유닛 테스트를 작성하는 방법에 대해 기초부터 심화까지 설명한다.
이 책의 대상 독자
코틀린 코루틴에 대한 지식을 기초부터 핵심까지 탄탄하게 쌓고 싶은 개발자
코루틴의 다양한 기능들을 심층적으로 이해해 기술적으로 성장하고 싶은 개발자
코루틴의 구조화된 동시성과 예외 처리를 이해해 비동기 프로그래밍을 보다 안정적으로 하는 방법을 배우고 싶은 개발자
코루틴의 동작 원리를 이해하고 싶은 개발자
코루틴 유닛 테스트를 작성하는 방법을 배우고 싶은 개발자
이 책의 구성
1장에서는 JVM의 프로세스, 스레드에 대해 다룬다. 기존 멀티 스레드 프로그래밍이 어떤 방식으로 변화했고, 코루틴이 기존 멀티 스레드 프로그래밍의 한계를 어떻게 극복했는지 알아본다.
2장에서는 인텔리제이 아이디어를 사용해 코루틴 개발 환경을 설정하는 방법에 대해 다룬다. 개발 환경을 설정한 후에는 첫 코루틴을 실행해 보고, 어떤 스레드에서 코루틴이 실행 중인지 확인하는 방법에 대해서도 알아본다.
3장에서는 CoroutineDispatcher에 대해 다룬다. 제한된 디스패처를 만드는 방법과 제한된 디스패처를 사용해 코루틴을 실행시키는 방법을 설명한다. 코루틴 라이브러리는 사용자의 편의를 위해 미리 정의된 CoroutineDispatcher를 제공하므로 미리 정의된 CoroutineDispatcher에는