DispatchWorkItem의 qos 관련해 질문 있습니다.
안녕하세요 앨런님~ 월요일 잘 보내셨나요 ~_~!! 다름이 아니라 DispatchWorkItem의 qos 관련해 질문이 있어 돌아왔습니다..! 허허...
DispatchWorkItem(qos: .utility) { }
위와 같이 DispatchWorkItem 을 생성할 때 qos 파라미터를 통해 작업의 우선순위를 설정할 수 있는데요! 이는 기존 clousure 로 보낼 때, .async(qos: .utility) 에서 qos 를 설정해준 것과 대응되는 작업이지요?
그리고 1:20초 즈음 qos 없이 DispatchWorkItem 을 생성할때 defualt qos 는 global 이라고 설명 주시는것 같은데, 실제로 init 함수를 살펴보니 .unspecified로 지정이 되어있는 것 같더라고요. 혹시 제가 중간에 설명을 잘못 이해한걸까요 ?_?
감사합니다 :)
답변 5
1
아하 네넵 우선은 제 이해력의 한계로...! 애플에서는 unspecified 로 설정 되어 있다.. 정도로만 가져가야겠네요 🤔
나중에 unspecified 일때 default를 따라가는 경우도 있다..? 정도의 비슷한 내용을 보게 되면 그때 다시 설명주신 내용 참고해보도록 하겠습니다
답변 감사합니다!! :)
1
뭔가 unspecified 는 공식 문서에 나와있는 설명도 그렇고.. 다른 글들을 살펴봐도 명확하지 않은거 같아요ㅜㅜ
그렇다면 앨런님이 설명주신 "qos 가 global 을 따라간다"는 의미는, (사실 global 이라는 qos 는 없기 때문에) global dispatchQueue 의 기본 qos 인 default를 따라간다는 말씀이실까요..? (쓰고 보니 뭔가 더 잘못 이해하고 있는거 같네요..? )
1
안녕하세요 수진님 :)
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
151
1
수업자료 markup 에 대해 궁금합니다!
0
273
1
예제 프로젝트 빌드 실패
0
331
2
serial 큐 질문드립니다.
0
251
1
[7-3.DispatchBarrier] 예제 코드 질문
0
325
1
안녕하세요, GCD 관련 질문드립니다..
0
284
1
main.async 작동 질문(+ vs global(),async)
0
432
1
dismiss 되었을 때 종료질문
0
303
1
'동기'와 '동시성 프로그래밍'에 대해 질문드립니다.
0
491
2
Dependency Protocol 관련
1
364
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
379
2
동기적 함수를 비동기적 함수로 바꾸는 부분에서 질문 있습니다
1
285
2
비동기오퍼레이션 관련 질문
1
369
1
강의자료는 어디에 있나요?
1
321
1





