Dispatchers.Defult
먼저 유사한 질문이 있는지 검색해보세요.
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
Dispatchers.Dafault 뒤에 + Job()을 붙이는 이유는 뭔가요?
Answer 1
0
코루틴이 코틀린의 비동기 기술입니다.
안드로이드를 학습하면서 너무 깊이 다룰수가 없어서 액티비티의 ANR 문제를 해결하는 방법으로 소개차원에서 다룬 것이다보니 설명을 길게 하지 않았는데요..
코루틴을 만들려면 먼저 스코프가 있어야 합니다.
스코프내에 여러 코루틴이 만들어져서 각각의 업무가 진행됩니다.
스코프를 만들때 기본으로 주는 정보가 Dispatcher 와 Job 입니다.
스코프에 설정하는 Job 은 그 스코프에서 실행되는 모든 코루틴의 Job 의 상위 Job 이 됩니다.
즉 개별 코루틴의 Job 이 만들어지며 이 개별 코루틴의 Job 은 코루틴이 동작하는 스코프의 Job 의 서브 Job 이 됩니다.
어디선가 필요하다면 job 을 이용해 코루틴의 동작을 제어할 수 있는데
개별 코루틴의 Job 으로 제어하면 그 코루틴이 제어되는 것이고
스코프의 Job 으로 제어하면 그 스코프에서 실행된 모든 코루틴들이 제어되는 것입니다.
그럼으로 스코프를 만들때 Job 을 설정하게 되어 있습니다.
0
그럼 CoroutineScope 함수의 매개변수로 CoroutineContext형을 입력받는다고 하는데 Dispatchers.Default + Job()로 매개변수를 전달해도 오류가 발생하지 않는 이유는 무엇인가요?
0
CoroutineScope 함수의 매개변수 타입은 CoroutineContext 가 맞습니다.
Dispatchers.Default + Job() 이 단순한 산술 연산의 더하기가 아니며 내부적으로 매개변수에 설정된 두개의 element 로 판단해 두개를 머징(merging) 하게 됩니다.
만약 Dispatchers 만 선언되었다면 내부적으로 Job 을 만들어 적용하며 Job 이 지정되었다면 코드에서 지정한 Job 을 이용하게 됩니다. 그리고 최종 결과로 CoroutineContext 가 만들어저 대입되게 됩니다.
6강에 비디오가 이상해요
0
27
2
진입 여부 판단 기준 질문
0
77
3
피그마 first draft 기능 질문
0
48
3
upup 질문
0
57
2
data.ai 필터링 검색이 안됩니다!
0
47
1
다양한 관점의 코드 경험을 위해 개선하지 않은 코드
1
47
1
앱 리텐션에 대한 질문
0
49
2
저예산+최대지출 캠페인 유지시간
0
64
2
강의가 검은 화면으로 나옵니다.
0
48
1
histories() 응답에 PointHistory.id를 포함한 이유가 궁금합니다/
1
44
2
DI시 eager과 lazy
0
37
2
타입스크립트
0
46
1
actuator에서 health 외의 다른 URL은 404 Notfound 에러가 발생합니다.
0
46
2
SettlementTargetRepository Jquery 질문
1
48
2
부가 기능을 이벤트 핸들러로 분리하는 기준이 있을까요?
1
60
2
주사위앱 소개 및 레이아웃 설정 문제
0
59
2
엔티티의 pk 를 0으로 초기화하시는 이유가 있을까요??
1
67
2
다작을 위한 비공개 테스트와 계정에 대해서 궁금합니다!
0
105
2
10강 오픈 일정 문의
0
88
1
제미니님 안녕하세요!
1
73
2
MCP 연동 인텔리제이 2.6.1
0
120
2
개념 간 격벽 분리와 목록 조회 시 발생하는 참조 구조
1
80
2
무중단 배포 / 컨테이너 이미지 관리에 주로 어떤 인프라를 활용하시나요?
0
66
1
개인사업자로 조직 계정을 만들 경우 이슈 질문
0
219
3

