Thread Pool
[안드로이드를 위한 Coroutines] 안드로이드의 멀티스레드 프로그래밍 : 기존의 Thread 기반 멀티스레드 프로그래밍 방식과 한계점
안드로이드와 멀티스레드 프로그래밍 안드로이드는 메인 스레드라 불리는 UI 스레드에서 모든 UI 관련 작업들을 처리한다. 만약 메인 스레드가 서버와의 네트워크 통신이나 데이터베이스 읽기/쓰기 작업들에 의해 길게 점유된다면 안드로이드 앱은 버벅이거나 멈추게 된다. 안드로이드를 개발하는 사람이라면 누구나 겪어보는 오류인 ANR(Application Not Responding)은 앱이 입력된 이벤트에 5초 이내에 응답하지 않는 경우에 일어나는데, 이 또한 메인 스레드를 길게 점유하는 작업이 원인이다. 이를 해결하기 위해 개발자들은 메인스레드 외에 새로운 스레드를 만들어 해당 스레드에서 길게 걸리는 작업을 처리한다. 이를 여러개의 스레드를 사용한다 해서 멀티스레드 프로그래밍이라 한다. 멀티 스레드 프로그래밍을 사..