
"비동기 코드를 작성할 때 코루틴을 사용한다"를 외우고 아무생각 없이 코루틴을 사용해왔습니다(작동원리도 모르고 사용).이번 포스트에서 코루틴을 사용했을 때 어떤 장점이 있는지 알아보겠습니다.단일 스레드 사용의 문제를 해결하기 위해 멀티 스레드 프로그래밍이 등장했습니다.

코루틴의 실행 환경을 설정하고 관리하는 인터페이스즉, 코루틴의 실행 환경을 정의하는 데이터 구조라고 말할 수 있습니다.CoroutineContext는 CoroutineName, Dispatcher, Job, CoroutineExceptionHandler 로 구성되고 각

Exceptions 예외는 프로그램 실행 중 발생할 수 있는 오류를 처리하여 프로그램이 예기치 안하게 종료되는 것을 방지합니다. 즉, 예외 처리를 통해 오류 발생 시 프로그램의 흐름을 제어할 수 있으므로, 코드가 더욱 예측 가능해지고 안정적으로 동작할 수 있습니다.
클래스는 객체를 생성하기 객체를 생성하기 위한 설계도(틀)이라고 할 수 있습니다.클래스는 데이터를 담는 프로퍼티(멤버 변수),와 그 데이터를 다루는 함수(메서드)를 함께 정의할 수 있습니다. 클래스는 참조타입입니다.이는 클래스의 인스턴스(객체)가 힙 메모리에 할당되며,

코틀린 코루틴의 정석 3장 내용을 공부하고 정리한 내용입니다.코루틴의 실행을 관리하는 주체코루틴을 스레드로 보내 실행시키는 역활코루틴을 실행 요청한 스레드에서 코루틴이 실행되도록 만들 수 있음자신에게 실행 요청된 코루틴들을 작업 대기열에 적재 하고 자신이 사용할 수 있

해당 내용은 코틀린 코루틴의 정석의 4장 내용을 공부하며 정리한 내용입니다. 코루틴 빌더 > 코루틴 빌더 함수는 코루틴을 만들고 코루틴을 추상화한 Job 객체를 생성한다 우리가 흔히 사용하던 launch 함수 또한 코루틴 빌더이다. 그렇다면 launch는 무

기존의 launch 코루틴 빌더는 결과를 반환하지 않습니다. 그렇다면 결과를 수신해야 할 때는 어떤 방법을 사용할가요? async 코루틴 빌더를 통해 코루틴을 생성하면 생성한 코루틴으로부터 결괏값을 수신받을 수 있습니다. launch 함수 사용시 결괏값이 없는
해당 내용은 코틀린 코루틴의 정석 6 장을 토대로 공부한 내용입니다.그동안 코루틴을 launch 나 async 로 생성하면서 우리는 context 인자에 CoroutineDispatcher 나 CoroutineName 을 전달해 주었다.전달해 줌으로서 코루틴의 이름을

Kotlin Channel 의 기본 개념에 대해 알아보려고 합니다~Kotlin Channel은 코루틴 간 통신을 위한 동시성 프리미티브로, 데이터를 안전하게 전송하고 공유할 수 있는 메커니즘을 제공합니다.즉 비동기 데이터 스트림이라고 생각할 수 있습니다.한쪽에서 데이터

Map은 키(Key)와 값(Value)의 쌍으로 데이터를 저장하는 자료구조입니다.모든 데이터는 고유한 키와 그에 해당하는 값으로 이루어집니다.여기서 고유한 Key란 Key는 중복될 수 없지만 Value는 중복될 수 있습니다.예를 들어 보물상자가 있다고 가정해보겠습니다.