os로부터 자원을 할당받는 작업의 단위
여러 갈래의 작업 흐름을 만듦으로써 한 앱 안에서 여러 동작을 하는 것이 가능하게끔 만들어줌
ex)음악을 다운로드 받는 동안, 음악 재생이 가능
Multi Threading | Multi Processing |
---|---|
적은 메모리 공간 차지 Context Switching이 빠름 | 하나의 process가 죽도라도 다른 프로세스에 영향을 주지 않아 안정성이 높음 |
동기화 문제,하나의 thread장애로 전체 thread가 종료될 위험 | 많은 메모리공간,cpu시간 |
thread1은 imageView.setImageResource(수진)
thread2는 imageView.setImageResource(성채) 라 했을때,
이미지뷰는 무엇을 보여줄까?? 정말 no 답
thread들이 무분별하게 화면 UI에 접근하는것을 막기 위해 MainThread를 통해서만
UI를 변경할 수 있다
그래서 작업쓰레드와 메인 쓰레드를 이어주는것이 Handler!
서브 thread는 Handler를 통해서 MainThread에 접근할 수 있다.
thread는 이미지를 변경해달라는 요청을 메시지 형태로 만들어 핸들러에게 전달하게 된다
이 것을 메세지 큐를 이용해 순차적으로 관리해준다.
스레드와 스레드 사이의 통신, 스레드에서 View 자원에 접근을 도와주는 다리
<강의 계획>
0.프로세스
1.스레드
2.핸들러
3.작은 실습?
https://securitymax.tistory.com/141