본문 바로가기
Efficient Android Threading #5 기본 스레드의 생명주기 관리 Efficient Android Threading #5 기본 스레드의 생명주기 관리 이 글은 Efficient Android Threading 의 일부 내용만 발췌한 내용입니다.자세한 내용은 책을 구입해서 보세용.7.1. 기본 사항 ** 7.1.1. 생명주기 -스레드는 다음의 생명 주기를 갖는다. 생성 : 스레드를 생성한 스레드와 동일한 우선순위로 할당된다.실행 : start() 가 호출될 때 실행 환경이 설정되고 실행될 준비가 된다. 이후 스케줄러가 이 스레드를 선택하면 run 메서드가 호출된다.차단/대기 : sleep(), yield() 등이 수행되었을 때이다.종료 : run 메서드가 종료된 상태이다. 최종상태에며 Thread 인스턴스나 실행 환경은 재사용 할 수 없다. ** 7.1.2. 인터럽트 -.. 2018. 3. 21.
[ios] AFNetworking 을 이용하여 File download start, pause, resume, stop 시키기 [ios] AFNetworking 을 이용하여 File download start, pause, resume, stop 시키기 static NSString* const kZipURL = @"http://download.thinkbroadband.com/200MB.zip"; @interface ViewController (){ AFHTTPRequestOperation* _operation;} @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; [self initHTTPRequestOperation]; // 더 적합한 position 으로 옮겨야 하지만, 개념만 보여주기 위해.} - (IBAction)onStartCli.. 2018. 2. 21.
[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.
[android] 원형 progress view 그리기 [android] 원형 progress view 그리기 http://frogermcs.github.io/InstaMaterial-concept-part-9-photo-publishing/ -public class SendingProgressView extends View { public static final int STATE_NOT_STARTED = 0; public static final int STATE_PROGRESS_STARTED = 1; public static final int STATE_DONE_STARTED = 2; public static final int STATE_FINISHED = 3; private static final int PROGRESS_STROKE_SIZE = 10; p.. 2017. 7. 15.
[iOS Study] 병렬 프로그래밍 가이드 ( operation queue ) [iOS Study] 병렬 프로그래밍 가이드 ( operation queue ) https://developer.apple.com/library/ios/documentation/General/Conceptual/ConcurrencyProgrammingGuide/OperationObjects/OperationObjects.html#//apple_ref/doc/uid/TP40008091-CH101-SW1 Operation Object 에 대한 이야기 -Operation object 는 NSOperation class 의 인스턴스를 이야기한다.NSOperation class 는 abstract base class 로 subclass 를 구현해야 한다. -NSInvocationOperation 과 NSBlock.. 2017. 7. 2.
[android] VectorDrawable 에 대한 이야기 [android] VectorDrawable 에 대한 이야기 https://blog.stylingandroid.com/vectordrawables-part-1/ -LOS 부터 등장한 녀석으로 SVG 형식으로 xml 을 정의하여 drawable 로 사용할 수 있다. -V 1.4. 이전에서는 android studio 에서는 preview 를 제대로 그리지 못하는 이슈가 있지만, 이후버전에서는 수정됨. -VectorDrawable 을 사용하면 각 해상도에 필요한 res 를 넣어주지 않아도 되서 app size 가 많이 절약된다. -drawable/android.xml 위의 코드는 이 녀석을 그린다. -vector 로 animation 을 하려면 animated-vector 를 정의하여 assign 해줘야 한.. 2017. 6. 2.
[Java Concurrency] 작업 실행 [Java Concurrency] 작업 실행 - 앱이 해야 할 일을 "작업"이라는 단위로 분할하면 프로그램의 구조를 간결하게 잡을 수 있고, 트랜잭션의 범위를 지정함으로써 오류에 효과적으로 대응할 수 있고, 작업 실행 부분의 병렬성을 자연스럽게 극대화 할 수 있다. 6.1. 스레드에서 작업 실행 - 프로그램에서 일어나는 일을 작업이라는 단위로 재구성하고자 한다면 가장 먼저 해야 할 일은 작업의 범위를 어디까지로 할 것인지 정하는 일이다. 원론적으로 보자면 작업은 완전히 독립적인 동작을 말한다. 독립성이 갖춰져 있어야 병렬성을 보장할 수 있다. 작업을 스케쥴링하거나 부하 분산(load balancing)을 하고자 할 때 폭넓은 유연성을 얻으려면 각 작업이 앱의 전체적인 업무 내용 가운데 충분히 작은 부분을.. 2017. 4. 24.
[Android] Material Design 개략적으로 알아보기~ Implementing Material Design in Your Android App http://android-developers.blogspot.kr/2014/10/implementing-material-design-in-your.html Material Design 은 Android 5.0 ( Lollipop, LOS ) 부터 등장한 안드로이드의 디자인이다. 전반적인 Animation 에 대한 가이드는 아래 링크를 참조하면 좋다.https://material.io/guidelines/motion/material-motion.html Tangible Surfaces * Shadow 아래와 같이 xml 에서 elevation 을 주면, z axis 로 이동한 효과를 내며, system 에서 dynam.. 2017. 4. 10.
[Linux] daemon 상태 컨트롤 Linux, daemon 상태 컨트롤 /etc/rc.d/init.d 에 들어가면 daemon 파일들이 있다. start 는 실행stop 은 중단restart 는 재시작 /etc/rc.d/init.d, daemon, etc, init.d, linux, rc.d, restart, start, stop, [Linux] daemon 상태 컨트롤, 데몬, 실행, 재시작, 중단 2014. 2. 5.
반응형