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