iOS/강의, 고찰

[iOS, Swift] DispatchQueue 서비스품질 (QoS)

검은참깨두유vm 2022. 11. 1. 18:55
반응형

DispatchQueue 객체를 만들 때에나 Async 함수를 실행시킬 때 서비스 품질을 설정할 수 있다.

서비스 품질(QoS)는 비동기함수 처리가 되면서 비동기 함수의 우선순위를 어떤 것을 먼저할지에 대한 속성이다.

 

userInteractive 속성은 거의 즉시 일어나는 함수에 대해 설정하는 값이고, 

유저와 직접적인 인터렉티브(UI 업데이트, 애니메이션, UI반응 관련)에 관련한 함수를 처리할 때에 주로 쓰인다.

 

userinitiated 속성은 몇 초내에 처리되야할 함수에 대한 설정값이다.

유저가 즉시 필요하긴 하지만, 비동기적으로 처리해야하는 작업 (ex. 앱 내에서 pdf 파일을 여는 것과 같은)을 처리할 때에 쓰인다.

 

default 속성은 일반적인 작업을 처리할 때 쓰이는 속성이다.

 

utility 속성은 몇 초에서 몇 분 걸리는 함수를 설정하는 값이고,

보통 Progress Indicator와 함께 길게 실행되는 작업, 계산, IO, Networking, 지속적인 데이터 feeds 관련 일을 처리할 때에 쓰인다.

 

background 속성은 속도보다는 에너지 효율성 중시하고 몇 분 이상 걸리는 작업을 처리하는 값이다.

유저가 직접적으로 인지하지 않고(시간이 안 중요한) 작업, 데이터 미리가져오기, 데이터베이스 유지하는 작업에 쓰인다.

 

실무에서 iOS Concurrency에 대한 공부가 필요했는데, 마침 인프런에서 강의가 있어 도움이 되고 있다.

비동기처리 부분이 너무 어려운데, 강의를 만들어주신 분께 감사하다.

 

https://www.inflearn.com/course/iOS-Concurrency-GCD-Operation/dashboard

 

iOS Concurrency(동시성) 프로그래밍, 동기 비동기 처리 그리고 GCD/Operation - 디스패치큐와 오퍼레이션

동시성(Concurrency)프로그래밍 - iOS프로그래밍에서 필요한 동기, 비동기의 개념 및 그를 확장한 GCD 및 Operation에 관한 모든 내용을 다룹니다., - 강의 소개 | 인프런...

www.inflearn.com

 

반응형