iOS와 OS X의 메모리 관리와 멀티스레딩 기법 - ARC, 블록, GCD를 활용한
가즈키 사카모토 & 도모히코 후루모토 지음, OSXDEV 옮김 / 지&선(지앤선) / 2013년 8월
평점 :
품절


이 책은 표지에 나온 대로 ARC(Auto Reference Counting), Block, GCD(Grand Centural Dispatch)를 이용한 메모리 관리 기법, 그리고 Multi-Thread 기법에 대한 책이다.


Object-C의 경우 처음 객체를 생성(alloc/new/copy/mutableCopy)한 뒤 객체를 이용하겠다는 소유권을 획득(retain)해야 이용하게 된다. 그리고 사용한 뒤엔 다시 소유권을 풀어주고(release), 소멸(dealloc)시키는 과정을 가지고 있다.


블록과 GCD는 주로 멀티스레드 기반 앱을 작성하는 데 사용되는데, iOS 4와 OS X 스노레퍼드에서 부터 나왔으며 ARC는 iOS5부터 나오기 시작했다.

현재 iOS7이 출시된 상황에서 다소 늦어보일지 모르지만, 애플리케이션의 메모리 관리는 항상 화두가 되는 문제이기에 꼭 학습해야 할 부분이다.


ARC는 메모리 관리는 Compiler가 직접 하게 된다. 그래서 앱이 더 바르게 동작하고 좋은 성능을 발휘하게 된다.

Block은 지역변수와 함께 동작하는 익명 함수이다.

GCD는 비동기적(Asynchronous)으로 작업을 실행하는 기술이다. 여기서 개발자가 할 것은 실행할 작업(task)를 정의한 뒤 dispatch queues에 추가만 하면 된다. 그렇게 되면 GCD는 필요한 스레드를 생성하고 각 스레드가 동작할 수 있도록 스케쥴을 처리해 준다.

마치 list에 할일을 넣으면 알아서 스케쥴을 짜 주는 것과 같다.


전반적인 메모리 관리와 멀티스레드의 디테일한 과정을 구조적으로 살펴볼 수 있었다.

다만 목차가 순서 없이 나열이 되는 바람에 책의 구조화가 되어 있지 않아 다소 산만해 보이지 않았나 싶다.

Chapter 1 식의 큰 제목만 있지 소제목 번호가 전혀 되어 있지 않고, 구성이 나열만 되어 있었기 때문이다.


메모리 관리라는 주제에서 중점적으로 볼 수 있는 기회인 것을 보면 참고해야 할 만한 책이다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo