- 앱의 기본이 되는 스레드
- 모든 앱은 적어도 하나 이상의 스레드가 필요함
- 모든 작업은 스레드 위에서 처리되기 때문임
- 이 메인 스레드는 앱의 생명주기와 같은 생명주기를 가지는, 앱이 실행되는 동안에는 늘 메모리에 올라와 있는 기본 스레드
- 즉, 메인 스레드가 멈추는 것은 앱이 멈추는 것이며 스레드가 존재하지 않으면 앱은 동작할 수 없음
- 동시성 프로그래밍에서는 여러 개의 스레드를 사용함
- 이 경우에도 메인 스레드는 늘 메모리에 올라온 상태로 존재하며 메인 스레드에서부터 필요한 만큼의 스레드가 파생되는 것임
- 이때 파생되는 스레드들은 자신이 담당하는 작업이 처리되면 메모리에서 사라지게 됨
- 전역적으로 사용이 가능함
- global 스레드들과는 다르게 Run Loop가 자동으로 설정되고 실행됨
- 메인 스레드에서 동작하는 Run Loop를 Main Run Loop라고 함
- UI작업은 메인 스레드에서만 작업할 수 있음