[Swift] Dispatch (2)
2024. 1. 7. 11:56
이전 포스팅
sync(동기) vs async(비동기) → 작업을 보내는 시점에서 기다릴지 말지
serial(직렬) vs concurrent(동시) → Queue로 보내진 작업들을 여러 개의 Thread로 보낼지, 한 개의 Thread로 보낼 것 인지
DispatchQueue
- main queue
- 오직 한개만 존재
- Serial 특성을 가진 Queue
- Main Thread에서 처리 (UI 업데이트, 내용 처리) - global queue
- concurrent 특성을 가진 Queue
- QoS(Quality of Service)에 따라 여러 종류존재 - custom(private) queue
- 커스텀으로 제작
- Default는 Serial Queue → Concurrent로 변경 가능
- QoS 설정 가능
Qos(Quality of Service)
- userInteractive : 애니메이션, 이벤트 처리 또는 앱의 UI 업데이트와 같은 사용자 대화형 작업을 위한
QoS class (사용자와 직접 상호작용) - userInitiated : 사용자가 앱을 적극적으로 사용하지 못하게 하는 작업에 대한 QoS class (저장된 순서 열기)
- default : 기본 QoS class (일반적인 작업)
- utility : 사용자가 적극적으로 추적하지 않는 작업에 대한 QoS class (데이터 다운로드)
- background : 사용자가 생성하는 유지 관리 또는 정리작업에 대한 QoS class (동기화 및 백업)
- unspecified : QoS class의 정보가 없음(거의 사용하지 않음)
출처
728x90
'iOS > Swift' 카테고리의 다른 글
[iOS] XCTest (0) | 2024.01.14 |
---|---|
[iOS] 아이폰에서 Dump뜨기 (0) | 2024.01.13 |
[iOS] QR코드 리더기 (0) | 2024.01.06 |
[iOS] LocalAuthentication (0) | 2024.01.06 |
[Swift] URL, URLComponents (0) | 2023.12.30 |