일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- Product Flavor
- 릴리즈 키해시
- cancellationException
- coldStream
- Android
- TOSS 과제
- flowon
- KAKAO
- Advanced LCA
- ShapeableImageView
- app-distribution
- google play console
- monotone stack
- Next Challenge
- Flow
- ServerDrivenUI
- conflate
- withContext
- 백준2309
- coroutinescope
- 안드로이드
- collectLatest
- Algorithm
- 백준
- coroutine
- java
- SDUI
- Kotlin
- coroutinecontext
- hotStream
- Today
- Total
목록coroutine (3)
루피도 코딩한다
1. Structured Concorrency Coroutine은 비동기 작업을 효과적으로 다루기 위해 사용되는데, 이를 구조화된(concurrent) 방식으로 관리하는 것이 중요하다. 이전 포스트에서 Coroutine Job의 Life Cycle에 대해 살펴보았다. Life Cycle 값들을 살펴보면 Completed 전에 Completing 상태를 거치는것을 확인할 수 있다. Completing 상태에서 해당 코루틴은 자식 코루틴의 상태를 처리한다. 자식 코루틴이 모두 완료될 때까지 기다리거나, 자식 코루틴에서 예외가 발생한 경우 다른 자식들에게 취소 요청을 보내는 등의 작업을 한다. wait children +-----+ start +--------+ complete +-------------+ f..
코루틴 취소를 왜하냐? 필요하지 않은 코루틴을 적절히 취소해 컴퓨터 자원을 아낄 수 있다 코루틴 취소 하는 방법 == CancellationException 발생 Kotlin 공식문서의 말을 빌리자면 *' A coroutine code has to cooperate to be cancellable' *라고 한다. Cancellable 하다라는 것은 코루틴 블록 내부에서 CancellationException 이 발생가능한 구조여야 한다는 것이다. CancellationException이 발생되는 방법은 아래와 같이 두가지가 있다. [취소 방법 1] kotlinx.coroutines의 suspending function을 활용하자 kotlinx.coroutines의 suspending 함수들은 'cance..
CS에서의 기본 개념 프로세스(Process) 컴퓨터에서 실행되고 있는 프로그램 각각 독립된 메모리 영역을 가짐 스레드(Thread) 프로세스보다 작은 개념으로 프로세스에 소속되어 여러 코드를 동시에 실행할 수 있도록 해준다. 스레드는 프로세스가 있어야만 존재할 수 있다 동일한 프로세스 내부에 존재하기에 메모리 영역은 공유하며, 독립된 스택 영역을 가진다 코루틴(Coroutine) 스레드보다 작은 개념 코루틴은 스레드에서 실행됨 프로세스의 메모리 구조 Code : 실행할 프로그램의 코드가 저장되는 영역 Data : Static(정적) 변수나 Global(전역) 변수가 저장되는 영역 Heap : 동적 메모리 영역 Stack : 지역변수, 매개 변수, 반환 값 등 일시적은 데이터들이 저장되는 영역. LIFO..