inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Allen iOS Concurrency (Đồng thời) - Hiểu về Dispatch Queue và Operation Queue

3) (Tham khảo) Hạng mục công văn điều động

DispatchWorkItem의 qos 관련해 질문 있습니다.

Đã giải quyết

358

sujinnaljin

13 câu hỏi đã được viết

1

안녕하세요 앨런님~ 월요일 잘 보내셨나요 ~_~!! 다름이 아니라 DispatchWorkItem의 qos 관련해 질문이 있어 돌아왔습니다..! 허허...

DispatchWorkItem(qos: .utility) { }

위와 같이 DispatchWorkItem 을 생성할 때 qos 파라미터를 통해 작업의 우선순위를 설정할 수 있는데요! 이는 기존 clousure 로 보낼 때, .async(qos: .utility) 에서 qos 를 설정해준 것과 대응되는 작업이지요?

그리고 1:20초 즈음 qos 없이 DispatchWorkItem 을 생성할때 defualt qos 는 global 이라고 설명 주시는것 같은데, 실제로 init 함수를 살펴보니 .unspecified로 지정이 되어있는 것 같더라고요. 혹시 제가 중간에 설명을 잘못 이해한걸까요 ?_?

감사합니다 :)

ios swift

Câu trả lời 5

1

allen

네 제 생각에는
그정도면 충분할 것 같습니다 ㅎㅎ


네 저도 감사드리고 좋은 밤 되세요 :) 🙏🏻

1

sujinnaljin

아하 네넵 우선은 제 이해력의 한계로...! 애플에서는 unspecified 로 설정 되어 있다.. 정도로만 가져가야겠네요 🤔

나중에 unspecified 일때 default를 따라가는 경우도 있다..? 정도의 비슷한 내용을 보게 되면 그때 다시 설명주신 내용 참고해보도록 하겠습니다

답변 감사합니다!! :) 

1

allen

아 네네! 맞아요! 그런 의미로 말씀드린게 맞습니다 ^^;

.default요!!

제가 헷갈리게 말씀을 드렸군요ㅠㅠ

1

sujinnaljin

뭔가 unspecified 는 공식 문서에 나와있는 설명도 그렇고.. 다른 글들을 살펴봐도 명확하지 않은거 같아요ㅜㅜ

그렇다면 앨런님이 설명주신 "qos 가 global 을 따라간다"는 의미는, (사실 global 이라는 qos 는 없기 때문에) global dispatchQueue 의 기본 qos 인 default를 따라간다는 말씀이실까요..? (쓰고 보니 뭔가 더 잘못 이해하고 있는거 같네요..? )

1

allen

안녕하세요 수진님 :)

1.
네 정확하게 맞습니다. DispatchItem을 생성할때의 qos는 클로저로 보낼때의 .async(qos: .utility) 에서 qos를 설정해준 것과 동일합니다. (대응되는 작업입니다.)

2.
설명은 잘못이해하신게 아닌 것 같고, (정확하게 따져보면) 수진 님께서 말씀하신대로 애플 문서에 나와있는 .unspecified 가 디폴트가 맞을 것 같습니다. 다만, 해당 "unspecified"자체가(특정되지 않은)  https://developer.apple.com/documentation/dispatch/dispatchqos/1780703-unspecified
라고 정의가 되어있어서, 제가 알기로는 "특정되지 않은 경우" (레거시API도 지원하지만) 그 외에 기본적인 설정(default global)을 따라간다. 라고 되어있어서, 제가 예전에 참고했던 (레이웬더리치) 자료에서 그렇게 기술하고 있어서 그 내용을 그대로 인용했던 것 같습니다. 제가 참고했던 자료보다 어쨌든 애플문서가 더 우선일테니 수진 님께서 자료를 찾으신 내용을 우선으로 생각하시면 될 것 같습니다. :)

unspecified라는 워딩 자체에 대해선, 저도 애플이 공식적인 문서 내용에서 밖에 참고해서 말씀드릴 수 밖에 없으므로.. 더 이상의 깊은 내용은 제가 전달해드릴 수 있는 수준을 벗어나는 내용인 것 같습니다...

이정도로 답변이 되셨으면 하는 바람입니다....^^;

감사합니다. :)

오퍼레이션 큐 질문

0

128

2

2) 오퍼레이션큐(OperationQueue) 강의 질문입니다

0

145

2

warning 뜸

0

152

1

수업자료 markup 에 대해 궁금합니다!

0

274

1

예제 프로젝트 빌드 실패

0

331

2

serial 큐 질문드립니다.

0

252

1

[7-3.DispatchBarrier] 예제 코드 질문

0

325

1

안녕하세요, GCD 관련 질문드립니다..

0

284

1

main.async 작동 질문(+ vs global(),async)

0

432

1

dismiss 되었을 때 종료질문

0

304

1

'동기'와 '동시성 프로그래밍'에 대해 질문드립니다.

0

493

2

Dependency Protocol 관련

1

365

1

시리얼 큐와 sync 관련

0

464

2

sync이지만 Queue에 넣으면 async로 동작한다는 말의 의미

0

645

1

lazy var 이슈로 생긴 여러 변수들은 어디에 있나요?

0

385

1

global큐에 sync로 작업을 보냈을 때는 터지지 않는 이유가 궁금합니다.

1

501

2

비동기 개념에서 무엇을 return하는 거죠??

0

391

1

안녕하세욤

1

339

1

Barrier 작업 관련 질문입니다.

1

340

1

디스패치 그룹

1

381

1

global async안에 global async를 만들게되면 어떻게 되나요??

2

381

2

동기적 함수를 비동기적 함수로 바꾸는 부분에서 질문 있습니다

1

286

2

비동기오퍼레이션 관련 질문

1

371

1

강의자료는 어디에 있나요?

1

322

1