DispatchQueue 4

Swift ;; GCD #4 Serial과 Concurrent

앞선 포스팅에서 sync와 async에 대해서 공부해봤다. serial과 concurrent, sync와 async를 공부하기 전에 async와 concurrent가 엄청나게! 헷갈렸다. 지금은 전혀 다른 개념이라는 것을 알고 있다. Serial과 Concurrent는 뭘까? DispatchQueue가 가진 특성이다. 먼저 요약하자면, SerialQueue는 작업을 하나의 스레드에서 처리하고, ConcurrentQueue는 작업을 여러 스레드를 사용하여 처리한다. 사용자는 작업의 특성에 맞게 SerialQueue로 보낼 작업은 SerialQueue로, ConcurrentQueue로 보낼 작업은 ConcurrentQueue로 보내면 되는 것이다. 스레드로의 분배는 큐가 알아서 해준다. Serial (직렬)..

iOS/Swift 2023.03.16

Swift ;; GCD #3 Sync 사용 시 주의할 점

앞서 특정 스레드에서 async로 작업을 보내면 해당 스레드는 기다리지 않고 다음 작업을 진행할 수 있는 것이고, sync로 작업을 보내면 해당 스레드는 그 작업이 완료될 때까지 기다려(블락되어) 다음 작업을 진행할 수 없는 것이라고 했다. https://may1coding.tistory.com/56 Swift ;; GCD #2 Async와 Sync 앞서 GCD는 DispatchQueue를 사용하여 작업을 분산한다고 했다. https://may1coding.tistory.com/55 Swift ;; GCD(Grand Central Dispatch) #1 정의 GCD는 동시성 프로그래밍을 위해 Apple이 제공하는 API이다. (iOS 8부터 지원) may1coding.tistory.com 이번에는 syn..

iOS/Swift 2023.03.15

Swift ;; GCD #2 Async와 Sync

앞서 GCD는 DispatchQueue를 사용하여 작업을 분산한다고 했다. https://may1coding.tistory.com/55 Swift ;; GCD(Grand Central Dispatch) #1 정의 GCD는 동시성 프로그래밍을 위해 Apple이 제공하는 API이다. (iOS 8부터 지원) GCD는 DispatchQueue를 이용하여 작업을 분산처리한다. 개발자가 스레드를 생성하는 작업 없이 DispatchQueue라고 이름 붙여진 Qu may1coding.tistory.com 우리(개발자)가 작업을 분산 처리하고 싶을 때, DispatchQueue로 작업을 보내기만 하면, 큐가 알아서 특성에 따라 스레드로 분산 처리를 해준다. 최소한 개발자가 지정해줘야할 것은 1. 작업(task)을 asy..

iOS/Swift 2023.03.14

Swift ;; GCD(Grand Central Dispatch) #1 정의

GCD는 동시성 프로그래밍을 위해 Apple이 제공하는 API이다. (iOS 8부터 지원) GCD는 DispatchQueue를 이용하여 작업을 분산처리한다. 개발자가 스레드를 생성하는 작업 없이 DispatchQueue라고 이름 붙여진 Queue에 작업을 보내기만 하면 DispatchQueue가 알아서 여러 스레드로 작업을 분산시킨다. DispatchQueue를 번역해보면 dispatch가 보내다, 발송하다의 의미를 가지고 있으므로 큐로 보내다 라는 의미이다. 매우 직관적! 그림으로 보기!! 개발자는 스레드를 신경쓸 필요 없이 DispatchQueue에 Task를 보내기만 하면, DispatchQueue가 알아서 (특성에 맞게) 작업을 여러 스레드로 분산한다. 동시성 프로그래밍? 예를 들어 네이버 (ht..

iOS/Swift 2023.03.13