일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- rxjava hot observable
- 안드로이드 os 구조
- 클래스
- 안드로이드 유닛 테스트
- jvm 작동 원리
- 2022 플러터 설치
- Rxjava Observable
- android ar 개발
- 안드로이드 유닛테스트란
- jvm이란
- rxjava disposable
- 플러터 설치 2022
- ar vr 차이
- 스택 자바 코드
- 안드로이드 라이선스
- 서비스 쓰레드 차이
- ANR이란
- 안드로이드 레트로핏 사용법
- 자바 다형성
- 2022 플러터 안드로이드 스튜디오
- 안드로이드 라이선스 종류
- 안드로이드 유닛 테스트 예시
- 객체
- 서비스 vs 쓰레드
- 안드로이드 레트로핏 crud
- 스택 큐 차이
- 멤버변수
- rxjava cold observable
- android retrofit login
- 큐 자바 코드
- Today
- Total
목록2024/02/17 (2)
나만을 위한 블로그
구조화된 동시성의 중요 특징 3개는 Job 컨텍스트와 관련 있다. Job은 코루틴 취소, 상태 파악 등 여러 곳에서 다양하게 쓰일 수 있다. Job이란 Job은 수명을 갖고 있고 취소할 수 있다. Job은 인터페이스지만 구체적 사용법, 상태를 갖고 있어서 추상 클래스처럼 다룰 수 있다. 아래는 Job의 수명을 나타낸 그림이다. Active 상태에선 Job이 실행되고 코루틴은 Job을 수행한다. Job이 코루틴 빌더에 의해 생성됐을 때 코루틴 본체가 실행되는 상태다. 이 때 자식 코루틴을 실행할 수 있고 대부분의 코루틴은 Active 상태로 시작한다. 지연 시작되는 코루틴만 New 상태에서 시작한다. New 상태인 코루틴이 Active 상태가 되려면 작업이 실행돼야 한다. 코루틴이 본체를 실행하면 Acti..
launch의 정의를 보면 첫 파라미터가 coroutineContext인 걸 알 수 있다. public fun CoroutineScope.launch( context: CoroutineContext = EmptyCoroutineContext, start: CoroutineStart = CoroutineStart.DEFAULT, block: suspend CoroutineScope.() -> Unit ): Job 마지막 인자의 리시버도 CoroutineScope다. 이것은 중요한 개념 같으니 시그니처를 확인한다. public interface CoroutineScope { public val coroutineContext: CoroutineContext } @SinceKotlin("1.3") public ..