Skip to content

Latest commit

 

History

History
37 lines (18 loc) · 1.07 KB

thread.md

File metadata and controls

37 lines (18 loc) · 1.07 KB

안드로이드는 멀티 프로세스, 멀티 스레드 환경

1. 스레드란?

자원을 사용하는 작업자

각 스레드는 자원을 공유할 수 없음

여러 스레드가 자원을 공유할 시에는 synchrionized 구문을 이용해 동시 접근 막아야함

2. 메인 스레드(UI 스레드)

안드로이드에서 앱이 실행될 때 기본으로 생성되는 스레드

각종 생명주기 함수 처리, 화면에 그림을 그림

안드로이드의 경우 5초이상 메인 스레드가 잠길 시 강제로 앱을 종료시키는 ANR(application not responding)을 구동

스트릭스 모드(메인 스레드 사용 위반 사례)

  1. 디스크에 파일 쓰기
  2. 디스크에서 파일 읽기
  3. 네트워크 사용

메인스레드와 작업스레드를 분리해야한다!!

3. multi threading

  • 쓰레드의 생성 및 컨텍스트 스위칭은 프로세스의 생성 및 컨텍스트 스위칭보다 빠르다.

img

https://goodgid.github.io/What-is-Multi-Thread/