GCD (Grand Central Dispatch)
- Multi Threading 처리를 위한 Apple에서 제공하는 API
DispatchQueue
- 앱의 메인스레드 또는 백그라운드 스레드에서 작업 실행을 순차적 또는 동시적으로 관리하는 개체이다.
1) Serial Disptach Queue
- 순차적으로 작업을 진행하는 Queue
- Main Queue
- 시스템 작동시 자동으로 생성된다.
- UI관련 작업은 항상 Main Queue에서 작동되어야 한다.
DispatchQueue.main.async {
// UI Update
let view = UIView()
view.backgroundColor = #colorLiteral(red: 1.0, green: 1.0, blue: 1.0, alpha: 1.0)
}
2) Concurrent Dispatch Queue
- 동시에 작업을 진행하는 Queue
- Global Queue
- 백그라운드에서 데이터, 네트워크 통신을 할때 사용한다.
- 우선순위를 정할 수 있는데 이를 Qos라고 한다.(Quality of Service)