Open Hminchae opened 5 months ago
Operation
클래스는 추상 클래스이므로 직접 사용하지 않고 하위 클래스를 사용하거나 시스템 정의 하위 클래스 중 하나를 사용하여 실제 작업을 수행한다.Opertaion
은 Single-shot Object 이기에 실행이 완료된 인스턴스는 다시 재실행 할 수 없다.NSOpertaionQueue
는 내부적으로 사용가능한 리소스를 계산하여 동시에 실행할 수 있는 작업은 동시에 실행하며 최대한 빨리 처리합니다.GCD
에서는 제공 하지 않는 재개, 취소, 중지를 제공하지만 구현이 복잡하고 무겁다.Key-Value-Observing
사용이 가능하다.
Operation
을 사용하여 작업 간의 의존성을 처리하고 작업의 실행과 취소를 관리할 수 있습니다.NSOpertaionQueue
는 Objective-C 기반의 고수준 API를 지원해주지만 반면 GCD
같은 경우 C 기반의 저수준 API를 제공한다.NSOpertaionQueue
은 Operation
의 라이프 사이클을 컨트롤 가능하지만(Pause
,Cancel
,Resume
) GCD는 별도로 제공하지 않는다.NSOpertaionQueue
는 Key-Value-Observing
으로 프로퍼티를 관찰 가능하지 GCD는 Key-Value-Observing
제공하지 않는다.
NSOperationQueue
GCD Queue
둘의 차이