메인스레드와 백그라운드스레드

Main Thread
- 오직 한 개만 존재!
- UI와 관련된 작업은 반드시 Main Thread에 작성
- Main Queue에서 실행됨
- Main Queue는 Serial Queue. 한 번에 하나의 task만 실행함
Global Thread (Background Thread)
- UI를 실행하는 데 영향을 줄 만한 코드들은 Global Thread에서 실행
- iOS의 Framework는 모두 Background에서 구동됨
- 가끔 Main Thread에 Delegate
- 예시
- 어플 내에서 음악을 실행하려고 한다.
- 음악 재생에 필요한 Framework 작업은 모두 Background Thread에서 실행
- 음악 재생 성공 시 Main Thread에 Delegate, Completion Handler 등을 통해 알림
- 코드 실행이 오래 걸리는 작업은 직접 Background Thread에서 실행시켜주어야 함
댓글
