본문 바로가기
[Objective-C] 병렬 프로그래밍 [Objective-C] 병렬 프로그래밍 출처 : OS X 구조를 이해하면서 배우는 Objective-C Chap 19. 19.1. 멀티 스레드 * 19.1.1. 스레드의 기본 개념 -스레드(thread)란 프로세스(process)안에서 CPU 이용권을 가진 가상적인 실행 단위이다.일반적으로 하나의 프로세스에는 하나의 스레드밖에 없지만 복수의 스레드를 생성해 프로세스 안에서 병렬로 동작시킬 수도 있다. -프로그램 실행이 시작될 때부터 동작하는 스레드를 메인 스레드라 하고 그 외에 나중에 생성된 스레드를 세컨더리 스레드(secondary thread) 또는 서브 스레드(subthread)라고 한다. -부모 스레드는 자식 스레드의 실행이 끝나길 기다렸다 합류(join)할 수 있다.대다수의 스레드 구현은 따로.. 2018. 1. 10.
[Objective-C] 메시지 송신 패턴 [Objective-C] 메시지 송신 패턴 출처 : OS X 구조를 이해하면서 배우는 Objective-C Chap 15. Notice : 정리자(돼지왕 왕돼지)가 remind 하고 싶은 내용이나 모르는 내용 기반으로 정리하는 것이기 때문에 구체적인 내용은 책을 사서 보시기를 권장드립니다. 15.1. 앱과 실행 반복 * 15.1.1. 실행 반복 -마우스 클릭 등의 이벤트를 OS에서 받아 그에 따른 처리를 하는 루틴 실행을 반복하는 부분이 있는데, 이것을 실행 반복(run loop) 또는 이벤트반복이라고 부른다. -GUI 를 갖춘 Cocoa 앱에서 실행 시작 이후에는 반드시 하나의 실행 반복이 시작된다.이것을 메인 실행 반복이라고 부른다.동시에 앱 동작과 리소스 관리를 하는 객체가 생성되는데, 이것이 Ma.. 2018. 1. 7.
[Objective-C] Foundation 프레임워크의 중요 클래스 - NSData, NSArray, NSSet [Objective-C] Foundation 프레임워크의 중요 클래스 - NSData, NSArray 9.3. 데이터 클래스 * 9.3.1. NSData -NSData 는 임의의 바이트 배열을 객체로 다루기 위한 랩퍼(wrapper) 이다. -일반적인 C 배열을 사용할 때와 비교했을 때의 장점은 객체로 추상화해서 다룰 수 있는 점,메모리 관리가 쉬운 점, Cocoa API 에서 바이트 배열을 다루는 표준이라는 점. -NSData 인터페이스는 한 번 작성되면 데이터 내용을 변경할 수 없다.데이터 내용을 나중에 변경하려면 NSMutableData 클래스를 사용해야 한다. -NSData 는 클래스 클래스터로 제공되므로 NSData 가 인스턴스의 직접 클래스가 아니라는 점, 일반 방법으로는 서브 클래스를 작성할.. 2017. 12. 31.
[Objective-C] 참조 카운터를 사용한 메모리 관리 방법 [Objective-C] 참조 카운터를 사용한 메모리 관리 방법 출처 : OS X 구조를 이해하면서 배우는 Objective-C Chap 5. Notice : 정리자(돼지왕 왕돼지)가 remind 하고 싶은 내용이나 모르는 내용 기반으로 정리하는 것이기 때문에 구체적인 내용은 책을 사서 보시기를 권장드립니다. 5.1. 동적 메모리 관리 * 5.1.1. 메모리 관리의 필요성 -이미 해제된 부분을 가리키는 위험한 포인터를 댕글링 포인터(dangling pointer) 또는 허상 포인터라고 부른다. * 5.1.2. 카운터 관리 방식과 ARC, 가비지 컬렉션 -Objective-C 2.0 에는 카운터 관리 방식과 다른, 가비지 컬렉션이라는 메모리 관리 방식도 이용할 수 있게 되었다.가비지 컬렉션은 프로그램의 일.. 2017. 12. 27.
반응형