프레듀 원격평생교육원

과목정보

[HD]실무예제로 배우는 Kotlin(코틀린) 프로그래밍 (고급) Part.7 코루틴과 동시성 프로그래밍-1

강사명 차시 학습시간 샘플
신경진 12 7 시간
모두보기
과정소개
학습대상
학습목표
학습내용

과정소개

코루틴과 동시성 프로그래밍의 개요, 동시성 프로그래밍의 개념, 블로킹과 넌블로킹, 넌블로킹 동작, 프로세스와 스레드, 스레드 생성하기, 사용자 함수를 통한 스레드 생성하기, 스레드 풀 사용하기, 코루틴의 기본 개념, 코루틴의 주요 패키지, launch와 async, launch 코루틴 빌더 생성하기, async 코루틴 빌더 생성하기, 코루틴의 문맥, 시작 시점에 대한 속성, runBlocking의 사용, join()함수의 결과 기다리기, Job 객체, 코루틴과 시퀀스의 개념을 이해한다.

학습대상

코틀린을 배우는 모든 학습자

학습목표

코루틴과 동시성 프로그래밍의 개요, 동시성 프로그래밍의 개념, 블로킹과 넌블로킹, 넌블로킹 동작, 프로세스와 스레드, 스레드 생성하기, 사용자 함수를 통한 스레드 생성하기, 스레드 풀 사용하기, 코루틴의 기본 개념, 코루틴의 주요 패키지, launch와 async, launch 코루틴 빌더 생성하기, async 코루틴 빌더 생성하기, 코루틴의 문맥, 시작 시점에 대한 속성, runBlocking의 사용, join()함수의 결과 기다리기, Job 객체, 코루틴과 시퀀스의 개념을 이해하고 직접 실습한다.

학습목표

1. 이론-동기적 프로그래밍, 비동기적 프로그래밍, 서드 파티 라이브러리, 코루틴, 블로킹, 넌블로킹, 병행수행(동시성), 코어(Core)의 개념에 대한 설명)
2. 이론-프로세스, 스레드, 문맥 교환, 스레드의 장점, 스레드풀, Runnable인터페이스, 선점형, 비선점형 멀티태스팅의 차이, 스레드 생성하기, 사용자 함수를 통한 스레드 생성, 보일러플레이트에 대한 설명)
3. 실습-스레드 생성 4가지 방법 및 코드, 스레드의 우선순위에 대한 코드로 실습, Runnable인터페이스를 구현하는 코드에 대한 실습)
4. 실습-사용자 정의함수를 만들어 스레드를 사용하는 코드에 대한 실습)
5. 이론-스레드 풀의 용도와 개념, 코루틴의 개념과 사용방법, 장점, 라이브러리 추가, suspend, 지연함수 사용시 주의사항, launch 코루틴 빌더 생성하기에 대한 설명)
6. 실습-스레드풀을 이용한 작업객체에 대한 처리코드, 코루틴 라이브러리 설치, 코루틴의 특징과 장점에 대한 코드 실습)
7. 실습-지연함수는 코루틴 빌더에서 호출가능하다는 코드, launch코루틴 빌더 생성하기, 2개의 지연함수를 코루틴 빌더에 넣어서 실행하는 코드에 대한 코드 실습)
8. 이론-async 코루틴 빌더 생성하기, await(), 코루틴의 문맥, 시작 시점에 대한 속성, runBlocking의 개념, join()함수의 개념과 활용에 대한 설명)
9. 실습-async 코루틴 빌더 코드 테스트하기, await()함수 사용하기, 시작 시점에 대한 속성을 사용하여 start(), await()함수로 코루틴 시작하기, runBlocking 코드 , join()함수 사용영역에 대한 실습)
10. 이론-Job객체의 개념과 상태, async함수의 시작 시점 조절, 많은 작업을 코루틴으로 처리하는 방법과 장점, sequence()를 통한 코루틴, yeild(), yeildAll()함수의 차이점에 대한 설명)
11. 실습-Deferred객체의 상태 확인, async함수의 시작 시점 조절 코드, 많은 작업을 코루틴으로 처리하는 코드와 그에 따른 장점에 대한 실습)
12. 실습-squence()를 이용한 코루틴 코드, yield()의 단일값 산출, yieldAll()의 특정 범위 값 출력, iterator를 통한 출력에 대한 실습)