iOS 多线程NSOperation

来源:互联网 发布:7zip linux 解压命令 编辑:程序博客网 时间:2024/05/24 06:42

NSOperation有两个子类:NSInvocationOperation 和 NSBlockOperation

NSOperation 如果有多个任务事,默认是异步执行的,如下代码。

NSBlockOperation *operation = [NSBlockOperation blockOperationWithBlock:^{        NSLog(@"1");    }];    NSBlockOperation *operation2 = [NSBlockOperation blockOperationWithBlock:^{        NSLog(@"2");    }];    NSBlockOperation *operation3 = [NSBlockOperation blockOperationWithBlock:^{        NSLog(@"3");    }];    NSBlockOperation *operation4 = [NSBlockOperation blockOperationWithBlock:^{        NSLog(@"4");    }];    NSBlockOperation *operation5 = [NSBlockOperation blockOperationWithBlock:^{        NSLog(@"5");    }];NSOperationQueue *queue = [[NSOperationQueue alloc]init];    [queue addOperation:operation];    [queue addOperation:operation2];    [queue addOperation:operation3];    [queue addOperation:operation4];    [queue addOperation:operation5];

但是把它的最大线程数设置为1,就是同步执行了,个中原理各位看官自己去想

queue.maxConcurrentOperationCount = 1;


0 0
原创粉丝点击