iOS Coding程序员

GCD的一般使用(单例/多线程/3)

2015-11-03  本文已影响99人  渴wang
单例的实现模式/确保了访问对象的唯一性,并且使线程安全

static NSObject *object = nil;
// 在整个程序执行期间只运行一次
- (IBAction)didClickOnceButton:(id)sender {
    static dispatch_once_t onceToken;
//    NSObject *objc
//    = nil;
//    __block NSObject *object = objc;
    dispatch_once(&onceToken, ^{
        object = [[NSObject alloc]init];
    });
    NSLog(@"%@", object);

}
 获得主队列 
dispatch_queue_t mainQueue = dispatch_get_main_queue();
在主队列执行任务
dispatch_async(mainQueue, ^{   
    [NSLog:@"hello"];
 });```

//***************3. 通过GCD的方式创建一个新的线程来异步加载图片***************//
dispatch_queue_t queue = dispatch_queue_create("test", DISPATCH_QUEUE_CONCURRENT);
dispatch_async(queue, ^{
[self downLoadImage]; //回调 });
}

上一篇 下一篇

猜你喜欢

热点阅读