Android Kotlin

Android Kotlin Thread 와 Coroutine 과 Service

신농해태 2024. 9. 24. 16:15
반응형

Process : 앱이 메모리에 적재되어 실행된 상태

       힙(Heap)를 할당 받는다.

 

Thread : 하나의 Process 내에서 실행되는 작업 실행 단위

       Thread하나는 메모리 내에 다른 Thread와 독립적인 하나의 스택(Stack)을 할당 받는다. 

       같은 Process 내의 Thread 들은 Heap을 공유함

       OS가 Context Switching을 통하여 실행중인 Thread를 멈추고(블로킹)에서 다른 Thread ( Stack )로 전환 실행함

       Looper, Handler

 

Coroutine : 하나의 Thread내에서 만들 수 있는 작성 실행 단위 Object로서 Heap에 저장됨

       프로그래머가 코딩으로 Switching 시점을 결정(OS가 Switching 안함. 단 동일 Thread내 인 경우)

       Coroutine을 Switching 할 때 Context Switching을 하지 않음.

       Coroutine를 Light-weight Thread라고 표현

       하나의 Thread 내에 여러개의 Coroutine을 실행시킬 수 있음.

 

Service : Background에서 실행되는 컴포넌트

       Lifecycle 있음

       자체 Process를 갖지 않음

       Main Thread에서 동작. 

       종류 : Foreground, Background, Bind

 

728x90
LIST