728x90
반응형
SMALL
DispatchQoS.QoSClass
https://developer.apple.com/documentation/dispatch/dispatchqos/qosclass
DispatchQoS.QoSClass는 GCD(Grand Central Dispatch)에서 사용되는 QoS(Quality of Service) 클래스를 나타내는 열거형(Enumeration)입니다.
case userInteractive:
사용자 상호작용과 관련된 작업에 대한 품질 등급입니다. 예를 들어 애니메이션, 이벤트 처리 또는 앱의 사용자 인터페이스 업데이트 등이 이에 해당합니다.
case userInitiated:
사용자가 앱을 활성 상태로 사용하는 것을 방해하는 작업에 대한 품질 등급입니다.
case default:
기본적인 품질 등급입니다. 일반적인 작업에 사용됩니다. 응답성과 작업 완료 시간을 균형있게 유지하기 위한 등급입니다.
case utility:
사용자가 활발하게 추적하지 않는 작업에 대한 품질 등급입니다.
case background:
유지 또는 정리 작업에 대한 품질 등급입니다. 앱에서 생성하는 유지 보수 작업에 사용됩니다.
case unspecified:
품질 등급이 지정되지 않은 경우입니다. 품질 등급이 없음을 나타냅니다.
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let interactiveQueue = DispatchQueue(label: "interactive", qos: .userInteractive)
let userInitiatedQueue = DispatchQueue(label: "userInitiated", qos: .userInitiated)
let defaultQueue = DispatchQueue(label: "default", qos: .default)
let utilityQueue = DispatchQueue(label: "utility", qos: .utility)
let backgroundQueue = DispatchQueue(label: "background", qos: .background)
let unspecifiedQueue = DispatchQueue(label: "unspecified", qos: .unspecified)
interactiveQueue.async {
print("userInteractive 품질 등급의 큐에서 실행")
}
userInitiatedQueue.async {
print("userInitiated 품질 등급의 큐에서 실행")
}
defaultQueue.async {
print("default 품질 등급의 큐에서 실행")
}
utilityQueue.async {
print("utility 품질 등급의 큐에서 실행")
}
backgroundQueue.async {
print("background 품질 등급의 큐에서 실행")
}
unspecifiedQueue.async {
print("unspecified 품질 등급의 큐에서 실행")
}
DispatchQueue.main.async {
print("메인 큐에서 실행")
}
}
}
728x90
반응형
LIST
'iOS' 카테고리의 다른 글
Tuist에서 xcode 버전 manage (0) | 2023.06.17 |
---|---|
ViewBuilder (0) | 2023.06.01 |
UIKit 화면 상태 (0) | 2023.05.18 |
SwiftUI active, inavtive, background 상태 (0) | 2023.05.18 |
SwiftUI 이미지 캐시처리 (0) | 2023.05.11 |