DispatchQueue 초기화

Apple Developer Documentation

DispatchQueue는 main, global을 사용하지만 초기화를 통해 커스텀하여 사용할 수 도 있다.

convenience init(label: String,
                 qos: DispatchQoS = .unspecified,
                 attributes: DispatchQueue.Attributes = [],
                 autoreleaseFrequency: DispatchQueue.AutoreleaseFrequency = .inherit,
                 target: DispatchQueue? = nil)
//dispatchqueue의 초기화 함수
  1. label

  2. qos

  3. attributes

    import Foundation
    
    let yellow = DispatchWorkItem {
        for _ in 1...5 {
            print("😀😀😀😀😀")
            sleep(1)
        }
    }
    
    let myDispatch = DispatchQueue(label: "Odong", attributes: .initiallyInactive)
    
    myDispatch.async(execute: yellow) // 코드 블록 호출 안됨.
    myDispatch.activate()
    
  4. autoreleaseFrequency

  5. target


QoS

Apple Developer Documentation

파라미터 중 우선순위를 결정해주는 Qos 파라미터에 대해 자세히 알아보기

QoS 열거형

DispatchQos는 열거형 타입으로 총 6개의 유형을을 가지고 있다.

(우선순위가 높은것이 제일 위 쪽)

  1. userinteractive