새로운 프로젝트를 만들게 되면 메인 액티비티는 앱이 실행될 때 하나의 프로세스에서 처리된다. 따라서 이벤트 처리나 특정 메서드 기능 구현 할때도 같은 프로세스 안에서 실행된다.
같은 프로세스 안에서 일련의 순서대로 실행 될때, 대부분은 큰문제가 없지만, 대기 시간이 길어지는 네트워크 요청 등의 기능을 수행할 때는 화면에 보이는 UI도 멈춤 상태로 있게 되는 문제가 생길수 있다. 이런 문제를 해결하기 위해 하나의 프로세스 안에서 여러 개의 작업이 동시 수행되는 멀티 스레드 방식을 사용하게 된다.
스레드는 동시 수행이 가능한 작업 단위이다. 하지만 공통 메모리 소스를 나눠 쓰기 때문에 데드락이 발생하여 시스템이 비정상적으로 동작 가능 하다.
데드락이란, 동시에 두 곳 이상에서 요청이 생겼을 때 어떤 것을 먼.....
원문 링크 : Thread : 스레드 와 핸들러