1. async의 파라미터

  • 코드예
func async(group: DispatchGroup? = nil,
	qos: DispatchQoS = .unspecified,
	flags: DispatchWorkItemFlags = [],
	execute work: @escaping () -> Void
    )

2. group

  • DispatchQueue의 async 코드 블록을 묶어서 관리해주는 DispatchGroup

3. qos

  • 시리즈의 QualityOfService 문서를 참고

4. flags

  • DispatchWorkItemFlags의 값을 받는 파라미터
  • 한번에 여러 속성 부여 가능
  • assingCurrentContext
- 코드 블록을 실행시키는 context의 속성을 상속
- QoS와 속성을 동일하게 한다.
  • barrier
- concurrent queue 환경에서 장벽, 차단의 역할
- barrier 속성의 코드 블록이 실행되기 전에 실행된 코드들은 환료까지 실행
- barrier 속성의 코드 블록이 실행되기 전까지 다른 코드 블록은 실행되지 않음
  • detached
- 실행할 코드 블록에 실행중인 context의 속성을 적용하지 않음
  • enforceQoS
- 실행 중인 context의 QoS보다 실행할 코드 블록의 QoS에 더 높은 순위
  • inheritQoS
- 위와 반대
  • noQoS
- QoS를 할당하지 않고 코드 블록을 실행
- assingCurrentContext보다 우선시 되는 속성
profile
Wooyo의 개발 블로그

0개의 댓글