126강에서 다룬 메인스레드와 백그라운드 스레드에 대해서 좀 더 자세히 설명해주실 수 있나요?

미해결질문
SwiftLearner 프로필
이제 거의 종강을 눈앞에 두고 달리고 있습니다. 그런데 126강에서 갑자기 스레드랑 관련된 설명들이 나오던데 메인스레드와 백그라운드 스레드에 대해서 조금만 더 자세히 설명해주실 수 있나요? 왜 self.imgView.image= UIImage(data:data)가 백그라운드 스레드이고, NSOperationQueue.mainQueue()를 이용해서 메인스레드에 접근을 해서 이미지를 바꿔야하는 것인가요? 둘이 뭐가 어떻게 다른 것인지 설명을 좀 부탁드리겠습니다.
최강사 프로필
최강사 2016.07.20

mainQueue()라고 하는건 메인큐를 쓰겠다는 얘기예요.
비동기 클래스인 NSURLSession 이 자동으로 백그라운드 쓰레드 만들어서 알아서 해줄겁니다. 단지 통신이 백그라운드 스레드가 돌아 가는 거구요, 정작 우리는 메인 쓰레드에 백그라운드 쓰레드가 동작하면서 다운 받은것을 반영 해야되잖아요 그 반영이라는건 image 받은걸 화면에서 적용하는 거겠죠. 우리가 보는 화면이 메인 화면이구요 이게 main thread입니다.
그래서 mainQueue(main thread queue) 를 불러서 거기에 반영하라고 하는 부분 입니다.

이제 다 보셨네요. 무사히 정주행 하신거 축하 드려요.

지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스