컬렉션 확장 함수
자바에서 static 변수 또는 객체에 해당하는 companion object 로 사용고정적 메모리로 객체 생성 없이 사용한다코틀린에서 자바의 static 사용자바에서 코틀린 컴패니언 객체 사용@JvmStatic 어노테이션 표기법을 사용코틀린 최상위 함수는 클래스가 없
멀티태스킹을 하면서 가벼운 스레드라고 불림스택을 가지지 않는다문맥 교환이 없다루틴을 일시 중단을 하여 launch / async : 코루틴 빌더job / Deferred : cancellation 지원을 위한 기능Dispatchers : Default는 백그라운드 코루
자주 재사용되는 스레드를 이용하기 위해 미리 생성된 스레드풀에서 스레드 이용8개의 스레드로 특정 백그라운드 서비스를 하도록 만든다고 했을 때
launch 와 다른점은 Deffered<T\\>를 통해 결과 값을 반환지원된 결과 값을 받기 위해 await()를 사용코루틴을 실행하기 위한 다양한 설정값을 가진 관리 정보코루틴 이름, 디스패치, 작업 상세사항, 예외 핸들러 등디스패처는 코루틴 문맥을 보고 어떤
새로운 코루틴을 실행하고 완료되기 전까지는 현재(calller) 스레드를 블로킹코루틴 빌더와 마찬가지로 CoroutineScope의 인스턴스를 가짐인자로 코루틴 문맥을 짖어하며 해당 문맥에 따라 코드 블록을 실행해당 코드 블록은 다른 스레드에서 수행되며 결과를 반환한다
순서대로 작업을 수행하여 하나의 루틴을 완료한 후 다른 루틴을 실행하는 방식다양한 기능이 한꺼번에 일어나는 다중 실행 환경에서는 성능상 제약이 있음UI, 데이터 다운로드를 동시에 대응해야 하는 경우다양한 기능을 동시에 수행할 수 있는 방식스레드를 사용Third-part
Coroutine의 Non-blocking 에서 Async 사용하기
클래스를 생성할때 기본적으로 생성되는 함수
super와 앳(@) 의 사용
코틀린 loop 개선
데이터를 연속적으로 나열한 상태