CoroutineContext
는 코루틴이 실행되는 환경을 말한다. CoroutineContext는 현재 실행중인 코루틴에 관한 정보를 나타낸다.
CoroutineContext는 <Key : Element>
구조인 Indexed Set(Set과 Map의 사이)으로 구성되어 있다.
CoroutineContext에는 코루틴 관리와 관련된 다음 요소들을 포함할 수 있다.
CoroutineContext는 네 가지 메서드를 가지고 있다.
CoroutineContext 인터페이스 자체는 많은 기능을 제공하지 않고, 구현을 위한 마커 인터페이스 역할을 한다. 이를 구현한 구현체로는 다음과 같이 3가지 종류가 있다.
EmptyCoroutineContext : 특별히 컨텍스트가 명시되지 않은 경우
CombinedContext : 두 개 이상의 컨텍스트가 명시되면 컨텍스트 간 연결을 위한 컨테이너 역할을 하는 컨텍스트
Element : 컨텍스트 각 요소들도 CoroutineContext를 구현
정리하면 CoroutineContext
에는 코루틴 컨텍스트를 구현한 요소(Element)
들이 등록될 수 있고, 각 요소들이 등록 될때는 요소의 고유한 키를 기반으로 등록된다. 이러한 CoroutineContext는 코루틴이 실행되는 환경에 대한 정보를 나타낸다.