Concurrent Programming
-
📕 코틀린 동시성 프로그래밍 - Ch.2) Coroutine in ActionKOTLIN 2022. 11. 11. 15:29
스레드 생성 코틀린에서는 직관적인 프로세스로 손쉽게 스레드를 생성할 수 있다. 현재 챕터에서는 하나의 스레드로 충분하지만, 다른 챕터에서 CPU-bound, I/O-bound 작업을 효율적으로 실행하기 위한 스레드 풀을 생성한다. CoroutineDispatcher 코루틴에서 스레드는 손쉽게 생성할 수 있지만, 스레드에 직접적으로 접근하거나 통제하는 것은 불가능하다. 스레드의 가용성, 부하, 구성에 따라 코루틴을 분배하는 작업은 CoroutineDispatcher가 통제하여 수행한다. 예를 들어 ThreadPoolDispatcher를 사용하여 하나의 스레드만을 이용하여 코루틴이 실행되도록 설정할 수 있다. 코루틴에 Dispatcher를 지정하기 Dispatcher가 존재한다면 Dispatcher를 사용하..
-
📕 코틀린 동시성 프로그래밍 - Ch.1) Hello, Concurrent World!KOTLIN 2022. 11. 8. 14:04
코틀린 동시성에 대해서 공부하기 위해 '코틀린 동시성 프로그래밍 ' 책을 읽고 정리하기로 하였다. 이번엔 챕터1 부분을 읽고 정리하였다. 프로세스 프로세스란 실행되고 있는 어플리케이션의 인스턴스를 의미한다. 프로세스는 자원, 프로세스 ID 데이터, 네트워크 연결과 같은 상태를 가지고 있고 프로세스 안의 스레드는 이러한 데이터에 접근이 가능하다. 앞으로 말할 내용은 단일 프로세스안에서 여러개의 스레드를 가질 때 생길 수 있는 문제에 대해 다룬다. 스레드 스래드의 실행은 프로세스를 실행할 지시들을 포함한다. 프로세스는 기본적으로 어플리케이션을 실행할 시작점을 가진 스레드 하나를 가지는데 프로세스에 포함된 각각의 스레드는 프로세스가 가진 자원에 접근하고 변경할 수 있고 고유의 쓰레드 로컬 저장소라고 불리는 저..