스레드란 - 위키백과 참조


어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다.

일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있다.


스레드는 싱글스레드 와 멀티스레드 가 있고


보통 싱글스레드일때는 메인스레드만 있다고 생각하는게 좀더 이해하기 쉽지않을까싶다. 물론 정답은아님.

메인스레드 같은경우는 사용자와 상호작용을 하기 위한 UI를 책임지고있기에 아주 중요한 스레드이다.

그래서 오랜시간이 필요하거나 연산이 복잡한 작업을할때 메인스레드에서 작업하게되면

사용자 인터페이스와의 상호작용을 하는 스레드인만큼 사용자에게는 앱 자체가 느려보이고 좋아보이지않게되거나 작업이 꼬여 프로세스가 죽어버리게될 경우도있다.


그럴땐 멀티스레드를 활용하여 메인스레드가 아닌 별도의 스레드에서 작업을 처리하고 

결과물을 메인스레드를 통해 반영하는방법이 제일 좋은방법인것 같다.



+ Recent posts