首页 > 其他 > 详细

NSOperation创建队列

时间:2016-05-17 19:12:18      阅读:157      评论:0      收藏:0      [点我收藏+]
 1 #pragma mark - NSOperation
 2     
 3     //NSOperation不能直接进行多线程的创建,需要帮助:NSOperationQueue
 4     // 使用NSOperation的第一个子类去创建线程:NSInvocationOperation
 5     NSInvocationOperation *operation = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(test) object:nil];
 6     
 7     // 在单独使用NSOperation的子类去创建线程的时候,需要启动才行
 8 //    [operation start];
 9     // 在使用NSOperation的子类去创建线程的时候,实际上线程没有真正意义上的创建
10     
11     
12     // 使用NSOperation的第二个子类创建子线程:NSBlockOperation
13     NSBlockOperation *operation1 = [NSBlockOperation blockOperationWithBlock:^{
14         
15         NSLog(@"我是block");
16         NSLog(@"??%@", [NSThread currentThread]);
17         NSLog(@"??%@", [NSThread mainThread]);
18     }];
19     
20 //    [operation1 start];
21     
22     
23     // 需要把上面的两个线程,放到操作队列里面
24     // addOperation一旦将创建的对象加入到操作队列中,就不能调用start方法
25     NSOperationQueue *queue = [[NSOperationQueue alloc] init];
26     
27     [queue addOperation:operation];
28     [queue addOperation:operation1];
29 }

// 最大的并发数量

    // 当值设置为1的时候,可以叫做串行:即顺序执行

    // 当值设置大于1的时候,叫做并行:多条通道同时进行各自的任务

    queue.maxConcurrentOperationCount = 3;

NSOperation创建队列

原文:http://www.cnblogs.com/zhizunbao/p/5502630.html

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