[Android] Thread + handler (1)

1. 왜 Thread를 사용해야 하는가?

예를 들자면, 음악을 다운로드 받으면서 웹툰을 보고 싶다. Thread를 사용하지 않으면, 음악을 다운로드 받는 동안 이 작업이 끝날 때까지 기다렸다가 웹툰을 봐야해서 매우 비효율적이게 된다. 간단히 말해서, 다수의 작업을 동시에 진행하기 위해서 사용된다.

2. Main Thread == UI Thread

UIupdate를 할 때는 꼭 Main Thread가 해야 하기 때문에 Main Thread를 UI Thread로 부르기도 한다.

3. Handler는 왜 필요한가?

예를 들어, 인터넷에서 날씨 정보를 가져와서 화면에 나타내고 싶다면, 인터넷에서 정보를 가져오는 데 걸리는 시간을 고려해서 이를 새롭게 생성한 Thread에서 처리하도록 한다. 문제는 이 다음인데, 가져온 정보를 어떻게 UI에 update하느냐 이다. 열심히 일하고 있는(인터넷에서 날씨 정보를 가져오는) Thread에서 작업의 종료를 UI update 를 담당하는 Thread로 알려주면 좋을텐데! Handler를 이용하면 Thread끼리 통신할 수 있다.

4. 정리

THREAD.png

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s