Thread2 Thread Pool 1. Thread Pool Thread를 생성하면 OS가 메모리 공간을 확보하고 그 메모리를 Thread에 할당한다. 하지만, 수행해야 할 작업의 개수에 따라 병렬 작업 처리가 많아지면 그에 필요한 Thread의 개수가 증가하게 된다. 이 경우, Thread의 생성과 스케줄링으로 인해 OS가 바빠지게 되고 작업을 마치고 수거하는 일은 비용이 크기 때문에 어플리케이션 성능에 큰 영향을 줄 수 있다. 이를 방지하기 위해 Thread Pool을 사용할 수 있다. 위에서 설명한 것 처럼 Thread의 생성과 수거는 비용 소모가 많은 작업이다. 미리 Thread를 여러 개 만들어 두고 작업이 들어오는 대로 할당해서 사용하게 하고 작업이 끝나고 난 뒤에도 그대로 뒀다가 나중에 필요할 때 재사용하기 위한 장치가 Th.. 2021. 12. 13. Thread, Looper, Handler 1. 동기와 비동기 안드로이드 Thread를 이해하기 위해 동기와 비동기의 차이를 명확하게 구분지어야 한다. 동기(Synchronous) 방식은 어떤 작업을 수행하고 그 작업이 완료될 때까지 다른 작업을 하지 못하고 기다리는 방식이다. 비동기(Asynchronous) 방식은 어떤 작업을 수행하지만 작업의 완료 여부와 관계없이 계속해서 다른 작업을 진행할 수 있는 방식이다. 2. Main Thread Android Components들이 시작되고 어플리케이션에 실행 중인 다른 Component들이 없으면 Android System은 하나의 단일 Thread로 Linux Process를 시작한다. 기본적으로 동일한 어플리케이션 내의 Components들은 같은 Process와 Thread에서 실행된다. (필.. 2021. 12. 8. 이전 1 다음