본문 바로가기
[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.
[Effective Objective-C] #39 핸들러 블록을 사용해 코드가 여러 개로 나뉘는 것을 막으라 [Effective Objective-C] #39 핸들러 블록을 사용해 코드가 여러 개로 나뉘는 것을 막으라 출처 : Effective Objective-C -특정 상황에서 앱이 특정 시간 동안 응답하지 않으면 자동으로 종료될 수 있다.특히 iOS 앱은 반드시 종료된다.시스템 와치독(system watchdog)은 특정 시간 동안 메인 스레드가 중단된 앱은 강제로 종료시킨다. -비동기 메서드를 쓰면 일을 끝냈을 때 완료 사실을 알고 싶어 하는 것들에 완료 사실을 알려주는 방법이 필요하다.이를 할 수 있는 방법이 몇 가지 있다.일반적으로 쓰는 방법은 객체가 따를 수 있는(conform) 델리게이트 프로토콜을 이용하는 것이다.델리게이트 객체는 비동기 작업의 완료 같은 적절한 이벤트가 발생하면 알림을 받을 수.. 2017. 10. 3.
[iOS Study] 웹 서비스와 UIWebView [iOS Study] 웹 서비스와 UIWebView 출처 : 아론 힐리가스의 iOS 프로그래밍 -NSURL URL 포맷에 웹 프로그램의 위치를 담고 있다. URL 은 여러 웹 서비스를 위해 기본 주소, 통신하고 있는 웹 프로그램, 전달 인자로 구성된다. https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSURL_Class/ -NSURLRequest 웹 서버와 통신할 때 필요한 모든 데이터를 가진다. NSURL 객체와 캐시 정책, 웹 서버의 응답 제한 시간, HTTP 프로토콜을 통해 전달되는 추가 데이터 등을 가진다. NSMutableURLRequest 는 NSURLRequest 의 변경 가능한 .. 2016. 3. 15.
[android] Toast( 토스트 ) 이야기 안드로이드, Toast( 토스트 ) 이야기 Toast 의 특이한 점. Toast 생성은 메인 스레드에서만 가능하지만, show() 함수는 아무 스레드에서나 호출할 수 있다.이는 Toast 가 안에서 handler 를 사용하기 때문이다.생성할 때는 Handler 를 main thread 에서 생성해야 하기 때문에 main thread 에서 생성해야 하고, 그 외 함수들 호출은 아무데서나 해도 된다. Toast 는 독립적인 Window Window 들은 PhoneWindowManagerService 에서 관리한다. status bar, input method, activity 모두 window 이다. Toast 들은 여러 앱에서 동시에 불러도 하나씩 순차적으로 뜨는데, 그 이유는 NotificationMan.. 2013. 8. 14.
[android] 현재 thread가 main thread 인지 체크하는 방법. 현재 thread 가 main thread 인지 체크하는 방법. View manipulation 을 비롯하여 여러가지 상황에서 thread 제한을 걸어야 하는 경우가 생기기 마련이다. 그런 경우 class의 constructor 혹은 function call 에서 해당 함수들을 호출한 thread 가 main thread 인가 체크해야 하는 경우가 생긴다. 이 확인은 간단하다. Looper.myLooper() == Looper.getMainLooper() Looper 가 뭔지 궁금해요? 여기를 클릭. Android, getmainlooper, looper, main thread, main thread check, main thread 체크, mylooper, thread 제한, view 조작, 메인 스레.. 2013. 7. 4.
반응형