Starbucks Caramel Frappuccino
본문 바로가기
  • 그래 그렇게 조금씩

async2

2. async/await/MainActor/Task async/await/MainActor/Task async와 await는 Swift에서 비동기 처리를 위한 키워드이다. async는 비동기 작업을 수행하는 함수나 메서드를 선언할 때 사용되고, await는 비동기 작업의 완료를 기다리고, 결과를 반환받을 때 사용된다. *아래 설명은 함수/메서드 구분하지 않음. 함수로 통일함 async 키워드는 비동기적으로 실행되는 코드 블럭을 표시한다. 비동기 함수는 작업을 시작하고 중간에 일시 중지되거나, 다른 작업을 수행하는 동안 '제어를 반환할 수 있다.' -> 스레드가 차단되지 않고 동시에 여러 작업을 수행할 수 있다. async 함수 내부에서 await 키워드를 만나면 비동기 작업이 완료될 때까지 비동기 함수의 실행이 일시 중단된다. 조금 더 정확히 말하면 aw.. 2023. 7. 10.
DispatchQueue / GCD / multi threading / 스레드 / 비동기 코드를 짜다 보면 DispatchQueue를 되게 자주 만나고 사용한다. 그런데 이것이 무엇인지에 대한 개념과 이해가 부족했기 때문에 좀 정리하고 넘어가보고자 한다. 스레드(Thread) 스레드는 동시에 실행되는 작업의 단위이다. 각각의 스레드는 독립적으로 실행되고, '코드의 흐름을 병렬로 실행'할 수 있다. -> 만약 스레드가 1개만 있다면 코드의 순서대로 하나씩 위에서 아래로 쫙 실행해야 하는데, 이걸 스레드에 쫙 나눠줘서 동시에 병렬적으로 실행할 수 있다는 것이다. 메인 스레드(Main Thread) iOS 앱은 기본적으로는 메인 스레드(Main Thread)라는 단일 스레드 환경에서 동작한다. 메인 스레드의 역할은 UI 업데이트, 사용자 입력 처리, 애니메이션, 레이아웃 계산 등이 있다. 즉 사용.. 2023. 5. 26.