대표적으로 Dispatch Queue는 FIFO Queue의 형태로 작업을 순서대로 전달받습니다.
Serial Dispatch Queue
Serial Dispatch Queue는 Single Thread로 동작을 합니다. 따라서 한번에 하나의 Task만 동작합니다.
Concurrent Dispatch Queue
Concurrent Dispatch Queue는 시스템 자원이 허용하는 한 여러 Thread에서 동작 합니다.
Sync Queue
Queue에 추가된 Task이 종료될때 까지 기다리는 큐
Async Queue
Queue에 Task를 추가하지만 완료 여부는 보장하지 않는 큐
필요성
개발자가 직접적으로 스레드를 관리해주기는 어렵기 때문에 애플에서 제공하는 GCD API가 필요하다. GCD API를 사용하면 쉽게 Multi-threading 처리를 해 줄수 있으며, 스레드를 관리하기 위한 코드가 줄어들어 훨씬 깔끔한 코드를 작성할 수 있습니다. 또한 스레드 관리가 용이해집니다.
GCD API 동작 방식과 필요성에 대해 설명하시오.
GCD(Grand Central Dispatch)
Serial Dispatch Queue
Concurrent Dispatch Queue
Sync Queue
Async Queue
필요성
개발자가 직접적으로 스레드를 관리해주기는 어렵기 때문에 애플에서 제공하는 GCD API가 필요하다. GCD API를 사용하면 쉽게 Multi-threading 처리를 해 줄수 있으며, 스레드를 관리하기 위한 코드가 줄어들어 훨씬 깔끔한 코드를 작성할 수 있습니다. 또한 스레드 관리가 용이해집니다.