GCD 3

[Swift] Swift의 동시성 프로그래밍 (3) | async/await (WWDC 2021)

이전 글들에서 GCD와 completionHandler 클로저에 대해 Swift Concurrency의 등장과 async/await를 사용한 코드에 대해 전반적으로 살펴보았고, GCD 이후의 새로운 동시성 프로그래밍의 개념인 Swift Concurrenc에서 Coroutine과 Continuation의 개념도 알아보았는데요, [Swift] Swift의 동시성 프로그래밍 (1) | GCD [Swift] Swift의 동시성 프로그래밍 (2) | Swift Concurrency의 등장 (feat. async-await & Coroutine & Continuation) [Swift] Swift의 동시성 프로그래밍 (3) | async/await (WWDC 2021) 이번 글에서는 async/await에 대한 W..

Swift 2024.04.07

[Swift] Swift의 동시성 프로그래밍 (2) | Swift Concurrency의 등장 (feat. async-await & Coroutine & Continuation)

앞선 Swift의 동시성 프로그래밍 (1) 글에서 본 것처럼 Swift 5.5에서 Swift Concurrency 개념이 등장하기 이전에는 GCD 기술을 이용해서 멀티 스레드 환경을 관리해 주었다. 그리고 completionHandler와 클로저를 사용해서 비동기 작업 처리를 해주곤 했다. 하지만..! 근데 이런 식의 비동기 프로그래밍은 비동기 작업이 많을 때에 오류처리를 하기 매우 복잡하고 가독성이 좋은 코드를 짜기 어렵다. 이렇게 GCD 와 completion handler를 사용하는 코드에 있어서 여러 한계점과 문제점이 있었는데 이를 해결하기 위해 등장한 것이 바로 Swift Concurrency 이며 WWDC2021 에서도 소개된 async/await 이다! 그럼 본격적으로 completion h..

Swift 2024.03.24

[Swift] Swift의 동시성 프로그래밍 (1) | GCD

GCD는 iOS에서 비동기 처리를 위해 반드시 알아야 하는 개념이다. 프로젝트를 만들면서 메인스레드만을 가지고 작업하는 경우는 거의 없죠?? 왜냐.. 네트워크 통신 등 시간이 드는 작업들은 비동기 처리를 해주어야 앱이 자연스럽게 돌아가는 것처럼 보이기 때문! 현대인들은 조금의 딜레이도 못 참지..! 이렇게 비동기 처리를 해줄 때 보통 메인 스레드에서 가지고 있었던 task를 다른 스레드와 함께 나누면서 여러 개의 스레드를 사용하게 되는데 이러한 멀티스레드에서의 환경에서 반드시 알아야 하는 개념이 바로! 동시성 프로그래밍이다. iOS가 동시성 프로그래밍을 지원하는 대표적인 기술이 GCD 인 것이다. 동시성 .. Concurrency.. 많이 들어보긴 했는데 발음도 비슷한 비동기, 동기와는 또 어떻게 다른데..

Swift 2024.03.17