본문 바로가기
Android

프로세스, 스레드, 코루틴

by 안솝우화 2021. 5. 25.
반응형

프로세스란?


프로세스는 실행 중인 애플리케이션의 인스턴스입니다.

 

애플리케이션이 시작될 때 애플리케이션의 프로세스가 시작됩니다

 


프로세스 상태

 

핸들, 프로세스ID, 데이터, 네트워크 연결 등

 

프로세스 내부의 스레드가 프로세스를 액세스 할수 있다


 

애플리케이션은 여러 프로세스로 구성 가능

 

 


스레드란?


프로세스는 최소한 하나의 스레드를 포함해야 합니다

 

스레드가 끝나면 프로세스의 다른 스레드와 상관없이 프로세스가 종료됩니다

 

각 스레드는 스레드가 속한 프로세스에 포함된 리소스를 액세스하고 수정할수 있지만 스레드 로컬 스토리지라는 자체 저장소도 갖고 있습니다

 

스레드 안에서 명령은 한번에 하나씩 실행되고 스레드가 블록되면 블록이 끝날 때까지 같은 스레드에서 다른 명령을 실행할 수 없다

 

GUI애플리케이션은 응답성을 항상 유지해야하가기 때문에 UI스레드를 블록하지 않아야 합니다

 

 

 


코루틴이란?


코루틴은 경량 스레드라고 불립니다

 

대부분의 스레드와 비슷하게 코루틴이 프로세서가 실행할 명령어 집합을 정의하기 때문입니다

 

코루틴은 스레드 안에서 실행됩니다

 

스레드 하나에 많은 코루틴이 있을수 있지만 주어진 시간에 하나의 스레드에서 하나의 명령마 실행됩니다

 

스데르와 코루틴의 가장 큰 차이점은 코루틴이 빠르고 적은 비용으로 생성할수 있습니다

반응형

'Android' 카테고리의 다른 글

UI 변경과 다중 창 모드  (0) 2021.05.27
UI 상태 저장을 하는 방법  (0) 2021.05.27
WorkManager 란?  (0) 2021.05.18
Fragment안에 있는 ViewPager2  (0) 2021.05.11
Notification의 사용방법  (0) 2021.05.06