사용하는 케이스

당근마켓의 경우 스크롤 하면 이미지가 다운로드가 안되면

회색 표시가 뜨는데

스크롤을 더해서 이 뷰가 화면을 넘어가면 실제로 표시할 필요가 있을까?

즉 진행하고 있는 비동기 작업 취소하기 위해 사용.

라이프 사이클

isReady 준비됨 : 객체가 생성되면

isExecuting 실행중 : start() 하면

isFinished 끝남

isCalcelled 취소됨 : cancel() 하면

Operation 클래스

애플에서 제공하는 추상 클래스

개발자는 이걸 상속받아서 커스텀해서 사용.

input, main 메서드(작업 내용), output이 3가지를 구현해야함.

특징

오퍼레이션 큐는 총 쓰레드 개수를 정할 수 있다

maxConcurrentOperationCount = ?

1개면 시리얼, 여러개면 동시성.

Qos 는 디폴트로 background. 구체적으로 설정도 가능 5가지 품질

큐에 오퍼레이션 혹은 오퍼레이션 배열을 넣을 수 있다.