해당 포스팅은 iOS Concurrency(동시성) 프로그래밍, 동기 비동기 처리 그리고 GCD/Operation - 디스패치큐와 오퍼레이션큐의 이해 강의를 수강하고 개인적으로 정리한 내용을 기록한 것 입니다.
오퍼레이션(Operation)이란
어떤 단위적인 작업(압축을 푸는 작업, 필터를 적용하는 작업 등)을 클래스화해서 기능을 높인 객체
- (기본) 동기적으로 설정되어 있다.
- 인스턴스화하여 작업을 한 번만 실행 가능하다. (재사용하기를 원한다면 다시 객체를 생성해야한다.)
오퍼레이션 큐와 결합하여 비동기적으로 많은 추가 기능을 사용할 수 있다.
오퍼레이션의 고유 기능
- 취소
- 순서 지정(의존성)
- 상태 체크(state machine)
- KVO notifications
- QoS 수준
- completionBlock (closure) 제공
오퍼레이션 라이프 사이클
사용 예시
오퍼레이션(Operation)은 스위프트에서 구현된 추상 클래스로, 상속을 통해 사용 가능하다.
참고: https://www.inflearn.com/course/iOS-Concurrency-GCD-Operation