SlideShare a Scribd company logo
화장실열쇠의 딜레마
Objective-C에서의 멀티스레드 활용
2015. 3. 21
About me
東京勤務 / プログラマ、iOS アプリ開発、下町居酒屋が好き。
iOS研究会(KJ-Code)の活動をやってます。
blog: http://dolfalf.tistory.com/
스레드는 어떤경우 사용할까?
• 시간이 오래걸리는 작업일 경우
• 동시에 여러작업을 처리하고 싶을경우
• 상태를 계속 감시해야 할 핸들러가 필요할 경우
• 기타....
그럼 Objective-C에서 스레드를 어떻
게 만들까?
• NSThread
• NSOperation
• GCD
• performSelector
• Timer..
스레드를 활용하기전
알아야할 기초지식
동기처리, 비동기처리
• 비동기 디자인패턴
• 딜리게이트(delegate), 셀렉터(@selector), 블록
(block), 노티피케이션(Notification)
• GCD
• dispatch_sync(...), dispatch_async(...)
큐(Queue)
• 직렬큐(serial Queue)
• 동시큐(Concurrent Queue)
데드락(Dead Lock)
교착상태
데드락(Dead Lock)
• 멀티스레드에서 가장 shit!한 상태
• 교착상태라고도 함
배타적제어
배타적 데이타 접근방식
• 크리티컬섹션(임계영역)
• 뮤텍스, 세마포어, 인터락…
이제까지의 이야기를 Ojbective-C 코
드로 구현한다면?
• @preperty(atomic, …
• @synchronized (self) { … }
• NSLock* _lock;
• dispatch_semaphore_t _semaphore;
Demo
• http://dolfalf.tistory.com/145
… 생략합니다. 제 블로그를 봐주세요.
잘못된 내용이 있으면 알려주세요.

More Related Content

PDF
Objective-C에서 Swift로 전향할 때 생각해 볼 거리들
PDF
[W3C HTML5 2017] 예제를 통해 쉽게 살펴보는 Vue.js
PPTX
Arduino入門(kjcode)
PDF
HTTP 완벽가이드 - ch5. web server
PDF
Java(3/4)
PPTX
[명우니닷컴]자바 스레드에 대해
PPTX
[명우니닷컴]해커란?
PPT
Gcd ppt
Objective-C에서 Swift로 전향할 때 생각해 볼 거리들
[W3C HTML5 2017] 예제를 통해 쉽게 살펴보는 Vue.js
Arduino入門(kjcode)
HTTP 완벽가이드 - ch5. web server
Java(3/4)
[명우니닷컴]자바 스레드에 대해
[명우니닷컴]해커란?
Gcd ppt

Similar to Objective-C에서 멀티스레드 사용하기 (20)

PDF
[Osxdev]4.swift
PPTX
2015 제2회 동아리 해커 세미나 - 병렬컴퓨팅 소개 (16기 김정현)
PDF
[D2CAMPUS] Tech meet up ; iOS 개발편
PDF
[C++ Korea 3rd Seminar] 새 C++은 새 Visual Studio에, 좌충우돌 마이그레이션 이야기
PDF
청강대 특강 - 프로젝트 제대로 해보기
PDF
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
PPTX
Open Jig Ware
PDF
Naver Campus Hackday Winter 2017 참가 후기
PPTX
kgc2014 LINE Rangers/Stage 크래시 및 어뷰징 대응
PDF
Coco2d x
PPTX
서버와 클라이언트 같은 엔진 사용하기
PDF
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
PDF
커뮤니티와 함께한 예비개발자 성장기- 조성수님
PDF
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
KEY
The Architecture of Open Source Applications : GDB
PDF
(OkdevTV) 2024년 9월 2일 개발 이야기 - 좋은 리팩토링 vs 나쁜 리팩토링
PDF
이클립스 플랫폼
PPTX
Nodejs 발표자료
PDF
(OkdevTV) 2024년 10월 16일 개발 이야기
PPTX
아이폰에 포팅해보기
[Osxdev]4.swift
2015 제2회 동아리 해커 세미나 - 병렬컴퓨팅 소개 (16기 김정현)
[D2CAMPUS] Tech meet up ; iOS 개발편
[C++ Korea 3rd Seminar] 새 C++은 새 Visual Studio에, 좌충우돌 마이그레이션 이야기
청강대 특강 - 프로젝트 제대로 해보기
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
Open Jig Ware
Naver Campus Hackday Winter 2017 참가 후기
kgc2014 LINE Rangers/Stage 크래시 및 어뷰징 대응
Coco2d x
서버와 클라이언트 같은 엔진 사용하기
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
커뮤니티와 함께한 예비개발자 성장기- 조성수님
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
The Architecture of Open Source Applications : GDB
(OkdevTV) 2024년 9월 2일 개발 이야기 - 좋은 리팩토링 vs 나쁜 리팩토링
이클립스 플랫폼
Nodejs 발표자료
(OkdevTV) 2024년 10월 16일 개발 이야기
아이폰에 포팅해보기
Ad

More from Jaeeun Lee (8)

PDF
파견맨 와치앱 개발일지
PDF
Parseを活用した開発
PDF
파견맨(Hakenman) 개발일지 - 자작앱 만들기
PDF
Ojbecitve-C Use ContainerView (Stroyboard)
PDF
チーム開発Tip紹介(Objective-C)
PDF
엉터리로일하지않기(でたらめな仕事をしないためには)
PDF
Crewja info
PDF
Lean startup
파견맨 와치앱 개발일지
Parseを活用した開発
파견맨(Hakenman) 개발일지 - 자작앱 만들기
Ojbecitve-C Use ContainerView (Stroyboard)
チーム開発Tip紹介(Objective-C)
엉터리로일하지않기(でたらめな仕事をしないためには)
Crewja info
Lean startup
Ad

Objective-C에서 멀티스레드 사용하기