로딩
요청 처리 중입니다...

[Swift] 동기/ 비동기

 [Swift] 동기/ 비동기

GCD GCD는 Grand Central Dispatch의 약자로 병렬 작업을 관리하는 API이다. 보통 무거운 작업들을 백그라운드로 돌려 앱의 반응성을 높이기 위함이다.

Queue GCD는 이름에서 보다 시피, 큐방식 FIFO 형식으로 실행이 된다. Dispatch Queue는 thread-safe로 여러 스레드에 동시에 접근이 가능하며, 보통 Serial 혹은 Concurrent로 실행이 된다.

Serial & Concurrent - Serial: 하나의 스레드에 일을 쌓음, UI 업데이트를 위해 주로 쓰인다. DispatchQueue.main - Concurrent: 여러 스레드에 분산 처리 DispatchQueue.global() Sync & Async sync 는 주어진 작업이 완료될 때까지 다음 작업으로 넘어가지 않는다.

비동기 Async는 주어진 작업이 되든 말든, 작업 전달(실행 시작) 후 다음 작업으로 넘어간다. 그래서 위와 같이 비동기/동기 , Serial/Conc...