GCD API 동작 방식과 필요성에 대해 설명하시오.
Opened this issue · 2 comments
inuinseoul commented
GCD API 동작 방식과 필요성에 대해 설명하시오.
sustainable-git commented
-
iOS에서 multithread 처리를 위한 API에는 GCD(Dispatch Queue)와 Operation Queue가 있습니다.
-
Dispatch Queue는 C기반의 저수준이고, Operation Queue는 ObjC 기반으로 GCD에서 직접 처리해야 하는 작업들을 지원하지만 약간의 overhead를 가지고 있습니다.
-
DispatchQueue는 serially 혹은 concurrently, main thread 나 background thread에서 동기 혹은 비동기 작업 실행을 관리하는 객체입니다.
-
항상 선입선출로 동작하며, GCD를 사용함으로써 개발자가 직접 Thread를 만들고 관리해야할 필요 없이 간편하게 multithread 처리가 가능합니다.
-
[Global DispatchQueue 의 Qos 에는 어떤 종류가 있는지, 각각 어떤 의미인지 설명하시오.]
inuinseoul commented
GCD는 Grand Central Dispatch의 줄임말로, 멀티 코어 프로세스 시스템의 스레드 관리에 대한 책임을 운영체제 레벨에게 넘겨주는 기술입니다. GCD 내부에는 DispatchQueue를 읽는 멀티코어 실행엔진을 가지고 있어 이것이 등록된 작업을 읽어 스레드에 할당합니다. 개발자는 내부 동작에 대해 이해할 필요없이 Queue에 작업을 할당하기만 하면 되기 때문에 스레드관리가 훨씬 쉬워집니다.