Developer/iOS

비동기(NSOperation, GCD)의 차이점.

블로blow 2016. 8. 16. 15:36
728x90

1. NSOperation

- 고수준의 편리한 API제공한다.(KVO 키 감시, operation cancel제어등..)

- 일반 스레드보다 약간 처리속도에 손실이 있다고 한다. 그럼에도 불구하고 편리한 메소드들은 이러한 단점을 커버하기 충분하다.

- GCD의 객체형이라고 볼 수 있을까?

사용후 알아서 메모리 해제.


2. GCD

- 블록으로 구현되어 있어 간단하게 사용가능하고 또한 코드 가독성도 좋다.

- 저수준 스레드 구현가능되기에 속도면에서 좋다고 한다. 다만, 상태감시, 오퍼레이션 캔슬 등등 다 직접 만들어야 한다는 귀찮음을 동반한다.

GCD는 NSOperation과 유사합니다. GCD는 C언어 기반이라는 차이점을 갖습니다.

사용후 직접 메모리 해제.



NSOperation과 GCD의 차이가 뭘지 궁금해서 검색해서 찾아본 결과인데,

잘못된 정보가 있다면 댓글 부탁드립니다.



728x90