적당한 고통은 희열이다

- 댄 브라운 '다빈치 코드' 중에서

Swift iOS 앱 개발/iOS

[Swift iOS] GCD와 Operation의 차이

hongssup_ 2023. 2. 15. 16:51
반응형

 

Operation 오퍼레이션

Operation
: An abstract class that represents the code and data associated with a single task.
단일 작업과 관련된 코드 및 데이터를 나타내는 추상 클래스

Dispatch (GCD) : 멀티코어 환경에서 디스패치 큐를 활용하여 동시성 프로그래밍을 지원하는 Framework

디스패치큐를 사용하여 비동기 처리 등을 처리하는 Framework

Operation : 오퍼레이션 큐를 사용하여 비동기 작업들을 처리하는 Class

내부적으로 GCD를 기반으로 취소, 순서지정, 일시정지 같은 추가적인 기능들을 구현할 수 있다. 

=> 프로젝트 효율성, 적합성을 따져보고 알맞게 사용해야

 

ex) 아직 실행 전, 대기열에 있는 작업은 DispatchWorkItem으로 취소할 수 있지만, 이미 진행중인 작업을 중도 취소하고 싶을 경우에는 오퍼레이션을 사용해야 한다. 

 

Operation 이란?

클래스화한 작업.

GCD는 클로저 안에서 작업을 수행했다면, 오퍼레이션은 작업 자체가 클래스화 되어 클래스의 인스턴스를 이용하는 개념. 

해당 객체를 오퍼레이션 큐에 넣어 작업.

 

 

 

 

728x90
반응형