2017-12-07 26 views

답변

6

Job은 coroutine 또는 수행되는 집계 작업의 일종을 나타냅니다. JobCoroutineContext.Element이며, 이는 coroutine 컨텍스트에 저장 될 수 있음을 의미합니다. CoroutineContext은 다른 코 루틴 컨텍스트 요소 모음이며, 작업은 이러한 요소 중 하나입니다.

실제로 coroutine 컨텍스트는 coroutine 요소 키를 사용하여 요소에서 요소를 검색 할 수 있으므로 맵과 훨씬 비슷합니다. 예를 들어 유형의 값이 ctx 인 경우 ctx[Job] 표현식을 사용하여 해당 작업을 검색 할 수 있습니다. 자세한 내용은 coroutines design documentdocumentation for CoroutineContext의 해당 섹션에서 확인할 수 있습니다.

새 동시 루틴이 시작되면 전체 컨텍스트를 지정할 수 있습니다. 이 컨텍스트에 작업이 포함되어 있으면 해당 작업은 새 동시 루틴에 대해 부모이됩니다.

launch과 같은 코 루틴 빌더에 대한 parent 매개 변수는 상위 작업 스펙을보다 명확하게 지정하는 데 편리합니다. launch에 대한 문서는 명시 적으로 지정된 상위 작업이 컨텍스트에 지정된 작업보다 우선한다는 것을 강조 표시하므로 here입니다. 사용 방법에 대한 실제 예는 안내서의 this section에 나와 있습니다.