프레듀 원격평생교육원

과목정보

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

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

과정소개

코루틴의 문맥과 디스패처, 종류, 코루틴 작업 취소하기, cancel(), finally의 실행 보장, NonCancellable, 실행 상태의 판단, withTimeout(), 코루틴의 시간 만료, 채널의 개념과 동작,
확장된 채널의 종류, produce생산자 소비자 패턴, 버퍼를 가진 채널, select 표현식, synchronized 메서드와 블록, 자바의 volatile, 원자 변수, 스레드 가두기, 상호 배제, 이루트 루프의 개념을 이해한다.

학습대상

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

학습목표

코루틴의 문맥과 디스패처, 종류, 코루틴 작업 취소하기, cancel(), finally의 실행 보장, NonCancellable, 실행 상태의 판단, withTimeout(), 코루틴의 시간 만료, 채널의 개념과 동작,
확장된 채널의 종류, produce생산자 소비자 패턴, 버퍼를 가진 채널, select 표현식, synchronized 메서드와 블록, 자바의 volatile, 원자 변수, 스레드 가두기, 상호 배제, 이루트 루프의 개념을 이해하고 직접 실습한다.

학습목표

1. 이론-코루틴의 문맥, dispatcher객체, repeat함수를 사용한 반복 동작하기, 코루틴 작업 취소하기. finally의 실행 보장, withContext(NonCancellable), 코루틴에 조건식이 들어가면 일어나는 현상에 대한 설명
2. 실습-코루틴의 문맥, dispatcher객체, lauch의 매개변수로 Dispatchers.Unconfined, coroutineContext, Dispatchers.IO, 인자값이 없을때, newSingleThreadContext()가 올때 실행하는 스레드와 그룹, 데몬여부에 대한 실습
3. 실습-repeat()함수를 사용한 반복 동작하기, 코루틴 작업 취소하기, finally 의 실행보장, repeat(), cancel(), cancelAndJoin(), withContext()함수에 대한 실습
4. 이론-코루틴의 시간 만료, withTimeout(), TimeoutCancellationException예외, 채널의 개념과 작동 방식, send(), receive(), 채널의 종류, produce(), comsumEach(), 버퍼를 가진 채널, select 표현식, onReceive()함수에 대한 설명
5. 실습-코루틴 블록에 조건문이 들어갔을때의 작동, withTimeout(), TimeoutCancellationException예외, withTimeoutOrNull(), 채널 생성 및 send(), receive(), isFull, isEmpty를 통한 채널 상태 확인 코드에 대한 실습
6. 실습-produce()생산자 패턴, comsumEach()소비자 패턴, 버퍼(capacity)를 가진 채널 생성 및 활용, select 표현식, onReceive()함수에 대한 실습
7. 이론-공유 데이터 문제 알아보기, synchronized키워드의 개념, volatile키워드의 개념, 원자 변수의 개념과 사용법, 스레드 가두기의 개념과 사용방법에 대한 설명
8. 실습-자바코드로 synchronized 키워드로 동기화 메서드 작성하여 데이터 신뢰성 제공하는 코드, volatile키워드의 장점과 단점에 대한 코드에 대한 실습
9. 실습-코틀린에 추가된 동기화 방법 중 원자 변수를 이용하는 코드와 이용하지 않는 코드, AtomicInteger, incrementAndGet(), get()함수에 대한 실습
10. 이론-코틀린에 추가된 동기화 방법 중 상호배제(mutual exclusion)의 개념, 작동방식, withLock블럭, 이벤트 루프의 개념과 작동방식에 대한 설명
11. 실습-코틀린에 추가된 동기화 방법 중 스레드 가두기의 작동방식, 상호배제(mutual exclusion)의 작동방식, lock(), unlock(), withLock블럭에 대한 실습