AsyncOperation을 async await Task로 대체 가능한 지에 대한 질문
410
投稿した質問数 2
비동기 함수를 오퍼레이션으로 감싸는 경우에 대해 보다가 궁금한 게 있습니다. Async, await, asyne let, Task를 이용해서 비동기함수를 오퍼레이션으로 감싸는 처리를 대체하는 코드나 클래스를 만들 수 있을것 같은데 어떻게 생각하시는지 궁금합니다.
일단 GCD + DispatchGroup + completionHandler Closure 기반의 코드는 async await 등으로 꽤 많이 대체할 수 있지 않을까 생각이 들어서요
回答 1
0
네 안녕하세요. 준영 님.
일단 기본적으로 그동안 캠플리션 핸들러(콜백함수)로 처리하던 것들이 async/await 기능이 생기면서, 훨씬 깔끔하고 직관적으로 처리하는 방향으로 가는 것 같습니다.
코드도 그렇고, 함수 실행에 일시 중단 / 재개 같은 개념 (Continuation) 도 도입되었고, 그 외에 액터(Actor)를 사용해서 데이터 동기화까지.. 아주 여러가지 기능이 있더라고요.
그리고 본원적으로 기존에 큐(대기열)을 사용하던 방식에서 아예 벗어나서, 어떤 작업들을 부모/자식의 개념(어떤 구조화된 동시성)에서 부모 작업을 취소하면.. 자식 작업들도 취소되는 이런 개념도 있습니다. (그냥 동시성 모델이 완전히 재설계 되었다고 보는게 맞습니다.)
다만, 모든 내용들이 완전히 새로운 방식들로 바뀌어야 해서... 아직 저도 말씀하신 비동기 오퍼레이션이나, 디스패치 그룹 방식의 코드 처리가 정확하게 1:1로 어떤 방식으로 매칭되는지를 (어떤 방식의 코드로 바꿔서 실무에 적용할 수 있는지) 연구해 보고 있습니다.
저도 생각했던 것보다, 자료 정리들이 정말 많이 필요해서
시간이 많이 필요할 것 같긴하네요.
물론 강의를 업데이트 할 계획을 계속 가지고 있었어서, 추후에 여러가지로 자료 정리 및 강의를 새롭게 업데이트 계획이 정확하게 정해지면 공지해 드리도록 하겠습니다.
결론적으로는,
많은 기능들이 완전히 새로운 방식으로 대체되는 것이 맞습니다. 그래서 기존 개념과 완전히 다른 방식으로 (내부적으로 동작하는 것등) 생각보다 많은 내용들을 새롭게 학습해야하는 것 같습니다. (아예 그래서 사고 체계가 바뀌어야 하는 부분도 많고요.....)
(2021, 2022 WWDC에서도 관련세션만 해도 엄청나네요ㅠ)
감사합니다.. :)
오퍼레이션 큐 질문
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

