iOS
qos (Quality of Service)
DongTaTo
2022. 5. 21. 17:14
반응형
QoS는 동시성 프로그래밍에서 Queue의 서비스 품질을 의미한다.
6가지 종류가 있고, 기본값인 default를 가장 많이 사용한다.
우선순위가 높을수록 더 많은 스레드를 사용하고, 배터리를 집중적으로 소모한다.
서비스 품질 수준 | 사용 상황 | 소요 시간 |
.userInteractive | 유저와 직접 인터렉티브 : UI 업데이트 관련 | 거의 즉시 |
.userInitiated | 유저에게 즉시 필요하지만, 비동기적으로 처리된 작업 ex) 로컬 데이터베이스 읽기 |
n초 |
.default | 일반적인 작업 | - |
.utility | Indicator와 함께 길게 실행되는 작업 ex) Networking |
n초 ~ n분 |
.background | 유저가 직접적으로 인지하지 않고, 소요시간이 중요하지 않은 작업 ex) 데이터 미리 가져오기, DB 유지보수 등 |
n분 이상 (속도보다 에너지효율성 중시) |
.unspecified | legacy API 지원 | - |
⚠️ 우선순위가 높다고 반드시 작업이 먼저 끝나는건 아님
반응형