Geon

Modern Concurrency Deep Dive(15) 본문

iOS developer essential skills/Modern Concurency

Modern Concurrency Deep Dive(15)

jgkim1008 2024. 11. 28. 23:31

Task

- Task를 호출하는곳은 컨텍스트를 상속받기에 메인쓰레드에서 동작

- fetchImage가 비동기라서 메인쓰레드에서 Call하기에 문제가 되나 싶지만 문제가 안됨

- Modern Concurrency의 경우 Non-Blocking 이기에 호출후 기다리지 않고 쓰레드를 시스템에 넘긴후 다른 일처리 함

- Task.detached를 사용하는것도 효율적이라고 생각됨

func collectionView(_ collectionView: UICollectionView, willDisplay cell: UICollectionViewCell) {

 Task {
    let image = await fetchImage()
    updateCell(image)
  } 

}