## GCD的队列类型
- 并发队列
- 自己创建的
- 全局
- 串行队列
- 主队列
- 自己创建的
## NSOperationQueue的队列类型
- 主队列
- [NSOperationQueue mainQueue]
- 凡是添加到主队列中的任务(NSOperation),都会放到主线程中执行
- 非主队列(其他队列)
- [[NSOperationQueue alloc] init]
- 同时包含了:串行、并发功能
- 添加到这种队列中的任务(NSOperation),就会自动放到子线程中执行
#prom mark
NSOperationQueue*queue=[[NSOperationQueue alloc]init];
NSInvocationOperation*opartion=[[NSInvocationOperation alloc]initWithTarget:self selector:@selector(downLoadData) object:nil];
NSInvocationOperation*opartion1=[[NSInvocationOperation alloc]initWithTarget:self selector:@selector(downLoadData1) object:nil];
NSBlockOperation*blockOperation=[NSBlockOperation blockOperationWithBlock:^{
NSLog(@"2233");
}];
[blockOperation addExecutionBlock:^{
NSLog(@"3333");
}];
[blockOperation addExecutionBlock:^{
NSLog(@"4444");
}];
WNOperation*wnOperation=[[WNOperation alloc]init];
//不需要start ,放到NSOperationQueue中的任务,会自动执行
[queue addOperation:opartion];
[queue addOperation:opartion1];
[queue addOperation:blockOperation];
[queue addOperation:wnOperation];
最后一种方法是自定义Operation
然后重写main方法。比如一些特别复杂的事情,我们需要自定义Operation