비동기

Kotlin 코틀린의 Handler 와 Looper
Handler 메인 액티비티는 앱이 실행될 때 하나의 프로세스에서 처리된다 하지만 같은 프로세스 안에서 여러 기능들이 순서대로 실행될 때 대기 시간이 길어지는 네트워크 요청 등의 기능을 수행할 때는 화면에 보이는 UI도 멈춰져 있는 상태로 보이는 문제가 존재합니다. 이러한 문제를 해결하기 위해서 하나의 프로세스 안에서 여러 개의 작업이 수행되는 멀티 스레드 방식이 존재한다. 하지만 여러 스레드들이 동시에 리소스를 접근하려고 할때는 데드락이 발생할 수 있다. 데드락이 발생하면 시스템이 비정상적으로 동작하게 된다. 따라서 네트워크 요청 등과 같은 지연 시간이 길어질 수 있는 작업들은 따로 분리하여 UI에 응답을 보내는 방식을 사용할수 있게 해주는것이 Handler 이다. 안드로이드에서 UI 작업은 별도의 스..