首页 > 移动平台 > 详细

IOS多线程

时间:2015-12-03 00:10:13      阅读:282      评论:0      收藏:0      [点我收藏+]

见视频 0423 

ios中有两种多线程方式,一种是C++自带的GCD,另一种是OC中的NSOperation

1、GCD案列

//1、创建一个队列,DISPATCH_QUEUE_SERIAL表示串行

    dispatch_queue_t q = dispatch_queue_create("id", DISPATCH_QUEUE_SERIAL);

    

    //2把任务加入队列,dispatch_sync表示同步,同步不用创建新的线程

    for (int i = 0; i< 10; i++) {

        dispatch_sync(q, ^{

            

            NSLog(@"任务=%d,%@",i,[NSThread currentThread]);

            

        });

    }

 

 

//创建并行队列,DISPATCH_QUEUE_CONCURRENT表示并行

    dispatch_queue_t  q = dispatch_queue_create("id", DISPATCH_QUEUE_CONCURRENT);

    

    //2把任务加入队列,dispatch_async表示异步,异步会创建新线程

    for (int i = 0; i< 10; i++) {

        dispatch_async(q, ^{

            

            NSLog(@"任务=%d,%@",i,[NSThread currentThread]);

            

        });

    }

 

2、NSOperation案列

//异步队列

    NSOperationQueue *myQueue   = [[NSOperationQueue alloc] init];

    

    NSBlockOperation *block = [NSBlockOperation blockOperationWithBlock:^{

        NSLog(@"%@",[NSThread currentThread]);

    }];

    

    //添加到队列

    [myQueue addOperation:block];

 

   

//同步队列,所有任务在主线程执行

    [[NSOperationQueue mainQueue] addOperationWithBlock:^{

          NSLog(@"%@",[NSThread currentThread]);

    }];

 

IOS多线程

原文:http://www.cnblogs.com/fengchao1000/p/5014541.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!