일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- java
- SwiftUI
- Flow
- 그림으로 배우는 서버구조
- kotlin2.0
- 이클립스
- 정보처리기사
- Coroutine
- jquery
- 서버
- Eclipse
- 스터디
- script
- ios
- 변수
- 스나이퍼팩토리
- 조건문
- 설치
- kotlininaction
- 코틀린
- 플러터
- Flutter
- express
- php
- node.js
- php변수
- android
- Kotlin
- node
- php개발
- Today
- Total
목록Coroutine (3)
mygomii

코루틴 컨텍스트(CoroutineContext)는 코루틴의 실행 환경을 정의하는 메타정보를 담고 있음이 컨텍스트에는 디스패처뿐만 아니라 Job, CoroutineName, 예외 처리자 등 추가 정보도 들어감Dispatchers.IO → 디스패처 지정Job → 코루틴의 취소와 완료 상태 관리CoroutineName → 디버깅용 이름 태깅CoroutineExceptionHandler → 예외 처리기

스레드(Thread)운영체제(OS) 단위의 동시성 실행 단위각 스레드는 자체 스택 메모리를 사용스레드는 생성 비용이 높음 (수 ms~수십 ms)수천 개 이상의 스레드 생성은 메모리, 스케줄링 비용 측면에서 한계가 있음코루틴(Coroutine)언어 단위의 동시성 실행 단위 (Kotlin 언어 레벨에서 제공)스레드보다 가볍고 효율적단일 스레드 위에서 수만 개의 코루틴 동시 실행 가능코루틴은 스레드 풀 또는 메인 스레드 위에서 동작컨텍스트 스위칭 비용이 낮음 (스레드와 달리 OS 개입이 거의 없음)suspend/resume로 상태 저장 및 재개 → 비동기 작업에 적합항목스레드(Thread)코루틴(Coroutine)생성 비용높음낮음실행 단위OS 단위언어 단위 (Kotlin)개수수천 개 한계수만 개 가능컨텍스트 ..
💡목표Cold Stream, Hot Stream을 이해한다.📝 정리하기Cold Stream하나의 소비자에게 값을 보냄생성된 이후에 누군가 소비하기 시작하면 데이터 발행상태가 변하지 않는 값을 읽을 때 데이터 베이스를 읽거나 URL을 통해서 서버값을 읽는 경우 구현HTML 삽입미리보기할 수 없는 소스flow 생성: flow 빌더를 사용하여 콜드 스트림을 생성. 이때 데이터 항목을 emit 으로 방출 → 스트림이 시작될 때 로그 출력구독 전 상태: 스트림이 생성되었지만 아직 수집자가 없으므로 아무런 작업도 수행 x구독: 첫 번째 구독자는 launch를 사용하여 코루틴을 시작하고, coldFlow.collect를 호출하여 스트림을 구독 이때 스트림은 데이터를 방출하기 시작두 번째 구독자: 두 번째 구독자는..