Thread와Handler

박승현·2022년 4월 29일
0

수업 준비

목록 보기
1/1

🤔process란?

os로부터 자원을 할당받는 작업의 단위

🤔Thread란?

여러 갈래의 작업 흐름을 만듦으로써 한 앱 안에서 여러 동작을 하는 것이 가능하게끔 만들어줌

ex)음악을 다운로드 받는 동안, 음악 재생이 가능

  • 하나의 프로세스에서 동작하기 위해 한 프로세스의 자원을 고융
    할당받은 자원을 이용하는 실행의 단위
Multi ThreadingMulti Processing
적은 메모리 공간 차지
Context Switching이 빠름
하나의 process가 죽도라도 다른 프로세스에
영향을 주지 않아 안정성이 높음
동기화 문제,하나의 thread장애로
전체 thread가 종료될 위험
많은 메모리공간,cpu시간
  • 구현 방법
    ① thread를 상속 받는 클래스 구현 (Thread라는 클래스)
    ② Runnable 구현 (runnable>인터페이스) 이유: 다중 상속 스레드 구현 가능
  • 뷰에 직접적인 접근 불가!
thread1은 imageView.setImageResource(수진)
thread2는 imageView.setImageResource(성채) 라 했을때, 
이미지뷰는 무엇을 보여줄까?? 정말 no 답

thread들이 무분별하게 화면 UI에 접근하는것을 막기 위해 MainThread를 통해서만
UI를 변경할 수 있다
그래서 작업쓰레드와 메인 쓰레드를 이어주는것이 Handler!

서브 thread는 Handler를 통해서 MainThread에 접근할 수 있다.
thread는 이미지를 변경해달라는 요청을 메시지 형태로 만들어 핸들러에게 전달하게 된다
이 것을 메세지 큐를 이용해 순차적으로 관리해준다.

🤔Handler란?

스레드와 스레드 사이의 통신, 스레드에서 View 자원에 접근을 도와주는 다리

<강의 계획>
0.프로세스
1.스레드
2.핸들러
3.작은 실습?

https://securitymax.tistory.com/141

0개의 댓글