---
# System prepended metadata

title: gcd와 operation

---

# gcd와 operation

gcd 
- 간단한 일
- 함수를 사용하는 작업 (메서드 위주)

operation
- 복잡한 일
- 데이터와 기능을 캡슐화한 객체
- 취소/ 순서지정/ 일시중지(상태 추적)이 가능함

- 오퍼레이션 객체를 오퍼레이샨 큐에 넣어서 사용함
- 오퍼레이션은 단위적인 작업을 클래스화한 것
- 객체를 인스턴스화해서 작업을 한번만 실행할 수 있다.

- ![](https://i.imgur.com/blJLdmW.png)
    - 변수를 통해 오퍼레이션의 상태를 확인함
    - 순서지정/ 취소를 하기 위해서 이런 변수를 사용하는 것임
    
    
- 취소할 때 
- ![](https://i.imgur.com/Nfp6wX9.png)

- ![](https://i.imgur.com/XBEEBLp.png)
    - 비동기 작업(네트워크 작업)일 경우 작업이 바로 취소되는 것이 아니고 서버가 작업을 리턴할 때 까지 중지되지 못할 수 있음
 
- 디스패치큐와 오퍼레이션큐의 취소기능 비교
    - ![](https://i.imgur.com/6GoRJoI.png)

- 디스패치워크아이템은 순서 지정이 가능 
- 