Thread(보충 필요)

유민국·2023년 6월 26일
0

Thread

Thread는 여러 처리를 비 동기적으로 처리하기 위해 사용한다.
안드로이드는 비 동기적 처리 외에 네트워크에 관련된 코드는 전부 Thread로 운영해야 한다.
본 강좌에서는 안드로이드에서의 Thread 운영 방법을 살펴보도록 한다.

Main Thread와 사용자 Thread

안드로이드는 Activity의 코드를 처리하기 위해 Thread를 발생 시킨다
이 때 발생되는 Thread를 Main Thread라고 부르며 UI Thread라고 부르기도 한다.
Main Thread가 현재 어떠한 처리도 하지 않고 유휴 상태일때만 화면 작업이 가능하다.
이 때문에 오래 걸리는 작업은 별도의 Thread를 발생시켜 처리하고 Main Thread를 항상 유휴 상태로 유지하게 해야 한다.

Main Thread에서의 반복

Main Thread에서 처리하는 코드(Activity내의 코드) 중에 일정 작업을 계속 반복 처리해야할 경우가 있다.
이 때, while문을 이용하여 무한루프를 운영하면 Main Thread가 종료되지 않아 화면 처리를 할 수 없다.
이러한 문제를 해결하기 위해 다양한 방법을 제공하고 있다.

화면 처리

안드로이드는 개발자가 발생 시킨 Thread에서 화면에 대한 처리를 하면 오류가 발생한다.
이 때문에 Thread 운영에 대한 처리를 학습해야 한다.
현재 안드로이드 오래오(8.0) 이상 부터는 개발자가 발생 시킨 Thread에서 화면 처리가 가능하다.
허나 OS 버전이 변경되면서 상황은 달라질 수도 있고 하위 버전을 위해 화면 처리는 반드시 Main Thread에서 하는 것이 좋다.

RunOnUiThread

RunOnUiThread 메서드는 개발자가 발생시킨 일반 쓰래드에서 코드 일부를 Main Thread가 처리하도록 하는 메서드이다.
이를 이용해 Handler 대신하여 Thread를 운영할 수 있다.

profile
안녕하세요 😊

0개의 댓글