동시성
동일 URL 다운로드 합치기
사진 그리드에서 여러 셀이 같은 사진 URL을 동시에 요청하지만 네트워크 다운로드는 한 번만 해야 합니다. actor 안에서 in-flight Task를 어떻게 보관해 요청을 합치겠습니까?
면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
사진 그리드에서 여러 셀이 같은 사진 URL을 동시에 요청하지만 네트워크 다운로드는 한 번만 해야 합니다. actor 안에서 in-flight Task를 어떻게 보관해 요청을 합치겠습니까?
actor 안에 URL을 키로 하는 [URL: Task<UIImage, Error>] 딕셔너리를 두고, 요청이 오면 같은 URL의 Task가 이미 있으면 그 Task의 value를 await하고, 없으면 새 Task를 만들어 먼저 딕셔너리에 넣은 뒤 await한다. 두 번째 셀은 다운로드를 시작하지 않고 첫 Task의 결과를 같이 받는다.
동시성주관식기초
여러 스레드에서 호출되는 아래 코드는 count가 기대보다 작게 나옵니다. 왜 그런지 CPU 수준에서 설명해 주세요. …
#actor
동시성주관식기초
Swift Concurrency에서 Task { }를 만들면 그 코드는 언제, 어디서 실행되나요?
#task
동시성주관식딥다이브
Swift Concurrency 로 만든 아래 이미지 캐시 actor는 같은 키에 대해 네트워크 요청이 두 번 나가는 경우가 있습니다. actor가 상태를…
#actor
동시성객관식심화
Swift 6 strict concurrency에서 추가 조치 없이 Sendable로 취급되는(또는 자동 채택되는) 것을 모두 고르세요.
#actor