모든 안드로이드 응용프로그램은 자바 언어가 가진 멀티스레드 프로그래밍 모델을 따라야 한다.
멀티스레딩은 (좋은 사용자 경험에 필요한) 성능과 반응성의 개선을 가져오지만, 다음과 같이
복잡성의 증가도 함께 가져온다.
●
자바에서 동시 프로그램 모델 처리
●
멀티스레드 환경에서 데이터 일관성 유지
●
태스크 실행 전략 설정
2.1
스레드의 기본
소프트웨어 프로그래밍이란 결국 작업을 수행하기 위해 하드웨어로 명령어를 지시하는 일이다
(화면에 그림 보여 주기, 파일시스템에 데이터 저장하기 등). 명령어는
CPU
가 순차적으로 처리
하는 응용프로그램 코드로 정의되는데, 이 응용프로그램 코드를 스레드의 고수준 정의라고 한
다. 응용프로그램 관점에서 스레드는 순차적으로 수행되는 자바 문장들로 이루어진 코드 경로
code
path
의 실행이다. 스레드에서 순차적으로 실행되는 코드 경로, 즉 질서 정연하게 하나의 스레
드에서 실행하는 작업의 단위를 태스크
task
라고 한다. 스레드는 순차적으로 하나 또는 다수의 태
스크를 실행할 수 있다.
자바의 멀티스레딩
CHAPTER
2
36
1
부
-
기초
2.1.1
실행
안드로이드 응용프로그램의 스레드는
java
.
lang
.
Thread
에 의해 표현된다. 스레드는 안드로이
드에서 태스크가 시작되고 완료될 때, 태스크를 종
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.