2019년 10월 21일 월요일

IOS 의 GCD ( Grand Central Dispatch) 로 쓰레드처리를 편하고 안전하게.

쓰레드의 락, 동기화 이런거 신경쓰지 않고 GCD를 사용하여 메인 쓰레드에 단순히 dispatch 하면 걍 실행된다능.

헤더파일에서

@interface SingleToneSample : NSObject
+ (instancetype) sharedInstance;
@end


처럼 간단하게 공개용 함수만들고 구현파일에서는

+(instancetype)sharedInstance {
    static SingleToneSample *shared = nil;
    
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        shared = [[SingleToneSample alloc] init];
        
    });
                  
    return shared;
}

처럼 실체를 만들면된다.


참고

https://padgom.tistory.com/entry/iOS-%EA%B8%B0%EB%B3%B8-GCDGrand-Central-Dispatch-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0

Related Posts:

  • [iOS] 개발/테스트 배포용 ipa 간단 생성Product->Archive->Distribute App -> Developement ->쭉쭉 다음으로 넘기고실행하는 쪽은 Xcode->Devices and Simulators 에서 ipa던져넣으면 된다.… Read More
  • [IOS] GCD, BLOCK 사용 Dispatch Queues 비동기 큐 처리  Grand Central Dispatch(GCD)는 큐를 동기/비동기로 처리할수 있도록 도와주는 도구다. 쓰레드를 os 가 자동관리 및 분배해준다. 개발자는 큐에 태스크를 생성해서 넣어주면 OS가 자동으로 태스크들을 실행해주는 방식이다.일단  자바의 쓰레드에 비해 사용하기 쉽다는 거다.Serial Queue : 순서대로 큐의 태스크를 실행한다. 한개가 끝나면 다음 태스크가 실행되는… Read More
  • IOS 의 GCD ( Grand Central Dispatch) 로 쓰레드처리를 편하고 안전하게.쓰레드의 락, 동기화 이런거 신경쓰지 않고 GCD를 사용하여 메인 쓰레드에 단순히 dispatch 하면 걍 실행된다능. 헤더파일에서 p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: #ffffff} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; fon… Read More
  • [iOS] @synchronized 배타 제어 (객체 동시접근 방지)참고: https://dolfalf.tistory.com/145https://aroundck.tistory.com/4705가장간단한건  // self를 키로 락을 검. 어디선가 self로 락을 건경우 락이 해제될 때까지 여기서 기다리게됨.@synchronized (self) {  [_mutableItems addObject:object];}보통 이런식으로도 씀.@i… Read More
  • [Unity] IOS check version 요약OS 버전을 확인하는 방법이 Objective-C라고 귀찮은 방법 밖에없는 것인지라고 생각하고있어, 피곤하고 있으면, 그런 일은 없었기 때문에 소개.환경MacOS 10.12.6Xcode 9.0.1종래의 방법기술 량이 많아 귀찮았.if ([UIDevice currentDevice] .systemVersion.floatValue> = 11.0) { NSLog (@ "iOS11… Read More

0 comments:

댓글 쓰기