동기(Synchronous) & 비동기(Asynchronous)

박중권·2024년 4월 19일
0

Info.

목록 보기
2/13

Swift에서의 동기(Synchronous)와 비동기(Asynchronous)는 코드 실행의 흐름과 관련이 있다.

동기(Synchronous):
동기(synchronous) 코드는 한 번에 "하나"의 작업만을 처리하고, 다음 작업은 이전 작업이 완료된 "후에" 순차적으로 실행된다.
작업이 완료될 때까지 대기하며, 다음 코드 실행은 해당 작업이 완료된 후에 이루어진다.
예를 들어, 함수를 호출하고 그 결과를 기다린 다음, 다음 작업을 수행하는 것이 동기적인 방식이다.

비동기(Asynchronous):
비동기 코드는 "여러 작업"을 동시에 처리하거나, 한 작업이 완료될 때까지 "대기하지 않고" 다음 코드를 계속 실행할 수 있다.
작업이 완료될 때까지 대기하지 않으므로, 다음 코드 실행은 해당 작업이 완료되기를 기다리지 않고 즉시 진행된다.
예를 들어, 비동기적으로 데이터를 다운로드하고, 데이터가 다운로드되는 동안 다른 작업을 수행하는 것이 비동기적인 방식이다.
Swift에서 비동기 작업을 수행하는 방법으로는 다음과 같은 것들이 있습니다:

예시:

            DispatchQueue.main.async {
                self.imageView.image = nil
                self.titleLabel.text = currentProduct.title
                self.descriptionLabel.text = currentProduct.description

위의 코드는 비동기임으로, 아래의 작업들이 동시에 이뤄진다.

profile
Hello World!

0개의 댓글