单例 --- 线程模式

1.Grand Central Dispatch --- GCD单次执行 --- 程序执行期间之执行一次

- (IBAction)GCD_onceDidClicked:(UIButton *)sender {
     
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        // code
    });
 
}

 2.在单例中的应用 --- 此方法正吻合单例的特性(只执行一次,只alloc一次)

+ (instancetype)shareMusicToos
{

    static MusicToos *musicTool = nil;
    
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        musicTool = [[MusicToos alloc] init];
        [musicTool requestData];
    });
    
    return musicTool;
    
}

 

posted @ 2015-08-04 21:15  百川hl  阅读(140)  评论(0编辑  收藏  举报