새소식

iOS/Swift

[Swift] Dispatch (2)

  • -

이전 포스팅

 

[Swift] Dispatch (1)

Dispatch (Framework) 시스템에서 관리하는 Dispatch 대기열에 작업을 제출하여 Multi Core 하드웨어에서 코드를 동시에 실행 GCD(Grand Central Dispatch)라고 알려진 Dispatch에서는 macOS, iOS, watchOS 및 tvOS의 멀티코

kimkhuna99.tistory.com

 

sync(동기) vs async(비동기) → 작업을 보내는 시점에서 기다릴지 말지

 

serial(직렬) vs concurrent(동시) → Queue로 보내진 작업들을 여러 개의 Thread로 보낼지, 한 개의 Thread로 보낼 것 인지

 


DispatchQueue

  1. main queue 
    - 오직 한개만 존재
    - Serial 특성을 가진 Queue
    - Main Thread에서 처리 (UI 업데이트, 내용 처리)
  2. global queue 
    - concurrent 특성을 가진 Queue
    - QoS(Quality of Service)에 따라 여러 종류존재
  3. custom(private) queue
    - 커스텀으로 제작
    - Default는 Serial Queue → Concurrent로 변경 가능
    - QoS 설정 가능

Qos(Quality of Service)

  1. userInteractive : 애니메이션, 이벤트 처리 또는 앱의 UI 업데이트와 같은 사용자 대화형 작업을 위한
    QoS class (사용자와 직접 상호작용)
  2. userInitiated : 사용자가 앱을 적극적으로 사용하지 못하게 하는 작업에 대한 QoS class (저장된 순서 열기)
  3. default : 기본 QoS class (일반적인 작업)
  4. utility : 사용자가 적극적으로 추적하지 않는 작업에 대한 QoS class (데이터 다운로드)
  5. background : 사용자가 생성하는 유지 관리 또는 정리작업에 대한 QoS class (동기화 및 백업)
  6. unspecified : QoS class의 정보가 없음(거의 사용하지 않음)

출처

 

[iOS] 차근차근 시작하는 GCD — 7

Dispatch Group의 개념에 대해 알아봅시다

sujinnaljin.medium.com

 

 

DispatchQueue | Apple Developer Documentation

An object that manages the execution of tasks serially or concurrently on your app's main thread or on a background thread.

developer.apple.com

 

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
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.